Az xml visual basic használata
Az utóbbi időben sok kérdésem van az XML-vel való foglalkozás témájáról, és külön írok külön válaszokat erre a kérdésre, amire fáradt vagyok, ezért azonnal írok mindenkinek.
Így ebben az áttekintésben megtudhatja, hogyan lehet XML-t létrehozni és olvasni a Visual Basic .NET használatával.
XML létrehozása
Kezdjük talán egy egyszerű példával:
'hozzon létre egy MemoryStream-et, amelyre XML-t írunk
Dim myMemoryStream Mint új IO.MemoryStream
'hozzon létre egy XmlTextWritert, adja meg az objektumot - myMemoryStream,
', amelyre XML-t írunk, és a windows-1251 kódolást
Dim myXml Mint új rendszer.Xml.XmlTextWriter (myMemoryStream, _
System.Text.Encoding.GetEncoding (1251))
'XML létrehozása
myXml.WriteStartDocument ()
'állítsa be a formázási beállításokat
'xml dokumentum
"ebben az esetben -
'System.Xml.Formatting.Indented - formázza a behúzást
"gyermekeknél a paraméterek szerint
'Indentation és IndentChar beállítások
myXml.Formatting = System.Xml.Formatting.Indented
"behúzás hossza
myXml.Indentation = 2
'hozzon létre egy elemet
myXml.WriteStartElement ("teszt")
'hozzon létre egy elemet
myXml.WriteStartElement ("tétel")
írja a sort
myXml.WriteString ("hello, ez egy teszt")
'zárja be az elemet
myXml.WriteEndElement ()
'hozzon létre egy elemet
myXml.WriteEndElement ()
'rögzíti az adatokat a myMemoryStream-ban
myXml.Flush ()
Ennek a kódnak az eredményeként ilyen XML-fájlt kaphat:
Ebben a példában az XML a MemoryStream-ba van írva. azonban bármely más Stream használható a MemoryStream helyett. például FileStream. vagy még egyszerűbb, hogy adatokat közvetlenül fájlba írjon, erre a célra egyszerűen az ötödik sorban lévő myMemoryStream helyett, adja meg a fájl elérési útját:
Dim myXml mint új System.Xml.XmlTextWriter ("C: myxml.xml". _
System.Text.Encoding.GetEncoding (1251))
XML olvasása
Dim myXml mint új System.Xml.XPath.XPathDocument (myMemoryStream)
Dim sItem As String = ""
'olvassa el az elem értékét
sItem = _
yXml.CreateNavigator.SelectSingleNode ("/ test / item") .Value
Dim sName As String = ""
Dim sBirthday As String = ""
'olvassa el az adatelem nevének értékét
sName = _
myXml.CreateNavigator.SelectSingleNode ("/ test / data / @ name") .Value
'olvassa el a születésnapi elem adatok értékét
sName = _
myXml.CreateNavigator.SelectSingleNode ("/ test / data / @ születésnap") .Value
Ebben az esetben az első sorban lévő myMemoryStream helyett közvetlenül megadhatja az XML fájl elérési útját.
A SelectSingleNode módszer megkapja az XPath-ban megadott első elem értékét. Ha újra felhívja ezt a módszert, akkor visszaadja a következő elem értékét, és így tovább.