Lucrul cu xml visual basic

Recent, am multe întrebări pe tema colaborării cu XML și scriu fiecare răspunsuri individuale la această întrebare la care m-am săturat, așa că scriu imediat pentru toată lumea.






Astfel, în această prezentare veți învăța cum să creați și să citiți XML utilizând Visual Basic .NET.

Crearea XML


Să începem, probabil, cu un exemplu simplu:

'creați un MemoryStream, la care vom scrie XML
Dim myMemoryStream ca noul IO.MemoryStream
'creați un XmlTextWriter, specificați obiectul - myMemoryStream,
"la care vom scrie XML, și codarea ferestrelor-1251
Dim myXml ca sistem nou.Xml.XmlTextWriter (myMemoryStream, _
System.Text.Encoding.GetEncoding (1251))

'creați XML
myXml.WriteStartDocument ()
'setați opțiunile de formatare
'xml document
"în acest caz -
'System.Xml.Formatting.Indented - formatează liniuțele
"la copii conform parametrilor
Setări indentare și IndentChar
myXml.Formatting = System.Xml.Formatting.Indented
lungimea liniei
myXml.Indentation = 2

"creați un element






myXml.WriteStartElement ("test")

"creați un element
myXml.WriteStartElement ("element")
'scrie linia
myXml.WriteString ("salut, acesta este un test")
"închideți elementul

myXml.WriteEndElement ()

"creați un element
myXml.WriteEndElement ()

"înregistrați datele în MyMemoryStream
myXml.Flush ()


Ca rezultat al acestui cod, puteți obține un astfel de fișier XML:


În acest exemplu, XML este scris în MemoryStream. cu toate acestea, orice alt flux poate fi folosit în loc de MemoryStream. de exemplu FileStream. sau chiar mai ușor, pentru a scrie date direct într-un fișier, în acest scop pur și simplu în loc de myMemoryStream în a cincea linie, specificați calea spre fișier:

Dim myXml ca sistem nou.Xml.XmlTextWriter ("C: myxml.xml". _
System.Text.Encoding.GetEncoding (1251))


Citirea XML

Dim myXml ca sistem nou.Xml.XPath.XPathDocument (myMemoryStream)
Dim sItem ca șir = ""
"citiți valoarea articolului
sItem = _
yXml.CreateNavigator.SelectSingleNode ("/ test / item") .Value
Dim sName ca șir = ""
Dim sBirthday ca șir = ""
"citiți valoarea numelui elementului de date
sName = _
myXml.CreateNavigator.SelectSingleNode ("/ test / data / @ name") .Value
"citiți valoarea datelor despre datele de naștere
sName = _
myXml.CreateNavigator.SelectSingleNode ("/ test / data / @ birthday") .Value


În acest caz, în loc de myMemoryStream în prima linie, puteți specifica direct calea către fișierul XML.
Metoda SelectSingleNode primește valoarea primului element specificat în XPath. Dacă apelați din nou această metodă, aceasta returnează valoarea elementului următor și așa mai departe.







Articole similare

Trimiteți-le prietenilor: