• Nie Znaleziono Wyników

Zapis/odczyt właściwości obiektu serializacją do pliku xml Zadanie

N/A
N/A
Protected

Academic year: 2021

Share "Zapis/odczyt właściwości obiektu serializacją do pliku xml Zadanie"

Copied!
2
0
0

Pełen tekst

(1)

Copyright © 2015, mgr inż. Janusz Bonarowski 1

Zapis/odczyt właściwości obiektu serializacją do pliku xml

Zadanie

Utwórzmy klasę Prostokat o właściwościach Dlugosc_boku1 i Dlugosc_boku2.

Utwórzmy instancję tej klasy. Podstawmy wartości właściwości z TextBoxów.

Zapiszmy serializacją obiekt w pliku xml.

Przeedytujmy plik xml, korzystając z Notatnika, zmniejszając wartości właściwości o połowę.

Odczytajmy serializacją plik xml po zmianie i wyświetlmy wartości właściwości.

Form1.vb

Imports System.IO Imports System.Xml

Public Class Form1

Dim mojP As New Prostokat

Private Sub btnZapisz_Click(sender As Object, e As EventArgs) _

Handles btnZapisz.Click mojP.Dlugosc_boku1 = CSng(TextBox1.Text)

mojP.Dlugosc_boku2 = CSng(TextBox2.Text) '

' Zapisanie właściwości obiektu do pliku serializacją '

Dim SerializacjaDoPlikuXml As Serialization.XmlSerializer Dim plikXML As FileStream = _

New FileStream("Dane_prostokata.xml", FileMode.Create, FileAccess.Write, FileShare.None)

SerializacjaDoPlikuXml = _

New Serialization.XmlSerializer(GetType(Prostokat)) SerializacjaDoPlikuXml.Serialize(plikXML, mojP)

plikXML.Close()

MsgBox("Plik XML został zapisany.") End Sub

Private Sub btnOdczytaj_Click(sender As Object, e As EventArgs) _

Handles btnOdczytaj.Click ' Odczytanie właściwości z pliku xml

Dim PlikDanych As FileStream =

File.Open("Dane_prostokata.xml", FileMode.Open, FileAccess.Read) Dim MojaSerializacja As New _

Serialization.XmlSerializer(GetType(Prostokat)) mojP = MojaSerializacja.Deserialize(PlikDanych) PlikDanych.Close()

' Przełożenie właściwości z obiektu do TextBoxów TextBox1.Text = mojP.Dlugosc_boku1.ToString TextBox2.Text = mojP.Dlugosc_boku2.ToString MsgBox("Plik XML został odczytany.")

End Sub End Class

(2)

Copyright © 2015, mgr inż. Janusz Bonarowski 2

Class1.vb

Public Class Prostokat

Private _Dlugosc_boku1 As Single Private _Dlugosc_boku2 As Single

Public Property Dlugosc_boku1 As Single Get

Return _Dlugosc_boku1 End Get

Set(value As Single)

_Dlugosc_boku1 = value End Set

End Property

Public Property Dlugosc_boku2 As Single Get

Return _Dlugosc_boku2 End Get

Set(value As Single)

_Dlugosc_boku2 = value End Set

End Property End Class

Jeśli zapisaliśmy aplikację w katalogu:

c:\tkm\gr_2.1_MiBM\xml_serializacja

i w kodzie nie zapisaliśmy pliku w jakiejś szczególnej lokalizacji, to odnajdziemy go na ścieżce:

c:\tkm\gr_2.1_MiBM\xml_serializacja\xml_serializacja\bin\Debug\Dane_prostokata.xml

Rysunek 1. Plik xml przed edycją w Internet Explorzerze

Rysunek 2. Plik po edycji w Notatniku

Cytaty

Powiązane dokumenty

• Oddzielenie danych od szablonu prezentacji. • Odpowiednia szczegółowość

Karta wykorzystania samochodu słuŜbowego Dane samochodu:. Numer katalogowy: PG 2044

- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŜonych nie moŜemy dokładnie określić liczby wystąpień elementu. XML Schema – zastępuje

► Włącz przetwarzanie pozostałych elementów (w przypadku braku definicji elementu, użyte będzie standardowe przetwarzanie – jak możesz się przekonać, polega ono na

-stwórz wzorzec dla elementu „procesor” i w nim zawrzyj obsługę elementów typ, cena i link w taki sposób aby wyświetlane były one zawsze w tej samej kolejności (typ , potem cena

This declaration means that the appearance of a country attribute in an instance document is optional (the default value of use is optional), although if the attribute does appear,

a) tylko przez kod działający po stronie serwera b) tylko przez skrypt po stronie przeglądarki c) zarówno po stronie serwera jak i przeglądarki. d) tworzenie i zapis tylko

http://www.woodgrovebank.com/services/bank.asmx?wsdl wsdl /l:VB /protocol:HttpGet /out:Bank.vb