VB.Net by API/System.Xml/XmlDocument

Материал из VB Эксперт
Перейти к: навигация, поиск

XmlDocument.AppendChild

<source lang="vbnet">

public class DOMSave

  public Shared Sub Main
       Dim myDoc As New Xml.XmlDocument
       myDoc.AppendChild(myDoc.CreateXmlDeclaration("1.0", "UTF-8", String.Empty))
       myDoc.AppendChild(myDoc.CreateComment("information about this book"))
       Dim rootBook As Xml.XmlNode =myDoc.AppendChild(myDoc.CreateElement("book"))
       rootBook.Attributes.Append(myDoc.CreateAttribute("isbn"))
       rootBook.Attributes("isbn").Value = "0-672-32549-7"
       Dim title As Xml.XmlNode
       title = rootBook.AppendChild(myDoc.CreateElement("title"))
       title.InnerText = "Start"
       Dim authors As Xml.XmlNode = rootBook.AppendChild(myDoc.CreateElement("authors"))
       Dim Duncan, Andy, Erik, Joel As Xml.XmlNode
       Duncan = authors.AppendChild(myDoc.CreateElement("author"))
       Andy = authors.AppendChild(myDoc.CreateElement("author"))
       Erik = authors.AppendChild(myDoc.CreateElement("author"))
       Joel = authors.AppendChild(myDoc.CreateElement("author"))
       Duncan.InnerText = "D"
       Andy.InnerText = "A"
       Erik.InnerText = "E"
       Joel.InnerText = "J"
       Dim chapters As Xml.XmlNode = myDoc.CreateElement("chapters")
       rootBook.AppendChild(chapters)
       Dim chapterElements(10) As Xml.XmlElement
       For i As Integer = 0 To 10
           chapterElements(i) = myDoc.CreateElement("chapter")
           With chapterElements(i)
               .Attributes.Append(myDoc.CreateAttribute("id"))
               .Attributes("id").Value =CStr(i + 1)
               .Attributes.Append(myDoc.CreateAttribute("topic"))
           End With
           chapters.AppendChild(chapterElements(i))
       Next
       chapterElements(0).Attributes("topic").Value = "A"
       chapterElements(1).Attributes("topic").Value = "B"
       chapterElements(2).Attributes("topic").Value = "C"
       chapterElements(3).Attributes("topic").Value = "D"
       chapterElements(4).Attributes("topic").Value = "E"
       chapterElements(5).Attributes("topic").Value = "F"
       chapterElements(6).Attributes("topic").Value = "G"
       chapterElements(7).Attributes("topic").Value = "H"
       chapterElements(8).Attributes("topic").Value = "I"
       chapterElements(9).Attributes("topic").Value = "J"
       chapterElements(10).Attributes("id").Value = "K"
       chapterElements(10).Attributes("topic").Value = "L"
       Dim myWriter As New Xml.XmlTextWriter("test.xml", System.Text.Encoding.UTF8)
       myWriter.Formatting = Xml.Formatting.Indented
       myDoc.Save(myWriter)
       myWriter.Close()
  End Sub

End class


 </source>


XmlDocument.CreateAttribute

<source lang="vbnet">

public class DOMSave

  public Shared Sub Main
       Dim myDoc As New Xml.XmlDocument
       myDoc.AppendChild(myDoc.CreateXmlDeclaration("1.0", "UTF-8", String.Empty))
       myDoc.AppendChild(myDoc.CreateComment("information about this book"))
       Dim rootBook As Xml.XmlNode =myDoc.AppendChild(myDoc.CreateElement("book"))
       rootBook.Attributes.Append(myDoc.CreateAttribute("isbn"))
       rootBook.Attributes("isbn").Value = "0-672-32549-7"
       Dim title As Xml.XmlNode
       title = rootBook.AppendChild(myDoc.CreateElement("title"))
       title.InnerText = "Start"
       Dim authors As Xml.XmlNode = rootBook.AppendChild(myDoc.CreateElement("authors"))
       Dim Duncan, Andy, Erik, Joel As Xml.XmlNode
       Duncan = authors.AppendChild(myDoc.CreateElement("author"))
       Andy = authors.AppendChild(myDoc.CreateElement("author"))
       Erik = authors.AppendChild(myDoc.CreateElement("author"))
       Joel = authors.AppendChild(myDoc.CreateElement("author"))
       Duncan.InnerText = "D"
       Andy.InnerText = "A"
       Erik.InnerText = "E"
       Joel.InnerText = "J"
       Dim chapters As Xml.XmlNode = myDoc.CreateElement("chapters")
       rootBook.AppendChild(chapters)
       Dim chapterElements(10) As Xml.XmlElement
       For i As Integer = 0 To 10
           chapterElements(i) = myDoc.CreateElement("chapter")
           With chapterElements(i)
               .Attributes.Append(myDoc.CreateAttribute("id"))
               .Attributes("id").Value =CStr(i + 1)
               .Attributes.Append(myDoc.CreateAttribute("topic"))
           End With
           chapters.AppendChild(chapterElements(i))
       Next
       chapterElements(0).Attributes("topic").Value = "A"
       chapterElements(1).Attributes("topic").Value = "B"
       chapterElements(2).Attributes("topic").Value = "C"
       chapterElements(3).Attributes("topic").Value = "D"
       chapterElements(4).Attributes("topic").Value = "E"
       chapterElements(5).Attributes("topic").Value = "F"
       chapterElements(6).Attributes("topic").Value = "G"
       chapterElements(7).Attributes("topic").Value = "H"
       chapterElements(8).Attributes("topic").Value = "I"
       chapterElements(9).Attributes("topic").Value = "J"
       chapterElements(10).Attributes("id").Value = "K"
       chapterElements(10).Attributes("topic").Value = "L"
       Dim myWriter As New Xml.XmlTextWriter("test.xml", System.Text.Encoding.UTF8)
       myWriter.Formatting = Xml.Formatting.Indented
       myDoc.Save(myWriter)
       myWriter.Close()
  End Sub

End class


 </source>


XmlDocument.CreateComment

<source lang="vbnet">

public class DOMSave

  public Shared Sub Main
       Dim myDoc As New Xml.XmlDocument
       myDoc.AppendChild(myDoc.CreateXmlDeclaration("1.0", "UTF-8", String.Empty))
       myDoc.AppendChild(myDoc.CreateComment("information about this book"))
       Dim rootBook As Xml.XmlNode =myDoc.AppendChild(myDoc.CreateElement("book"))
       rootBook.Attributes.Append(myDoc.CreateAttribute("isbn"))
       rootBook.Attributes("isbn").Value = "0-672-32549-7"
       Dim title As Xml.XmlNode
       title = rootBook.AppendChild(myDoc.CreateElement("title"))
       title.InnerText = "Start"
       Dim authors As Xml.XmlNode = rootBook.AppendChild(myDoc.CreateElement("authors"))
       Dim Duncan, Andy, Erik, Joel As Xml.XmlNode
       Duncan = authors.AppendChild(myDoc.CreateElement("author"))
       Andy = authors.AppendChild(myDoc.CreateElement("author"))
       Erik = authors.AppendChild(myDoc.CreateElement("author"))
       Joel = authors.AppendChild(myDoc.CreateElement("author"))
       Duncan.InnerText = "D"
       Andy.InnerText = "A"
       Erik.InnerText = "E"
       Joel.InnerText = "J"
       Dim chapters As Xml.XmlNode = myDoc.CreateElement("chapters")
       rootBook.AppendChild(chapters)
       Dim chapterElements(10) As Xml.XmlElement
       For i As Integer = 0 To 10
           chapterElements(i) = myDoc.CreateElement("chapter")
           With chapterElements(i)
               .Attributes.Append(myDoc.CreateAttribute("id"))
               .Attributes("id").Value =CStr(i + 1)
               .Attributes.Append(myDoc.CreateAttribute("topic"))
           End With
           chapters.AppendChild(chapterElements(i))
       Next
       chapterElements(0).Attributes("topic").Value = "A"
       chapterElements(1).Attributes("topic").Value = "B"
       chapterElements(2).Attributes("topic").Value = "C"
       chapterElements(3).Attributes("topic").Value = "D"
       chapterElements(4).Attributes("topic").Value = "E"
       chapterElements(5).Attributes("topic").Value = "F"
       chapterElements(6).Attributes("topic").Value = "G"
       chapterElements(7).Attributes("topic").Value = "H"
       chapterElements(8).Attributes("topic").Value = "I"
       chapterElements(9).Attributes("topic").Value = "J"
       chapterElements(10).Attributes("id").Value = "K"
       chapterElements(10).Attributes("topic").Value = "L"
       Dim myWriter As New Xml.XmlTextWriter("test.xml", System.Text.Encoding.UTF8)
       myWriter.Formatting = Xml.Formatting.Indented
       myDoc.Save(myWriter)
       myWriter.Close()
  End Sub

End class


 </source>


XmlDocument.CreateElement

<source lang="vbnet">


Imports System Imports System.Xml Imports System.Xml.Schema Imports System.IO Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Collections Imports System.Data Imports System.Windows.Forms

Public Class MainClass

   Shared Sub Main()
       Dim FakeQuantity As Integer
       Dim Doc As New XmlDocument()
       Dim newAtt As XmlAttribute
       Dim TempNode As XmlElement
       Dim dec As XmlDeclaration = Doc.CreateXmlDeclaration("1.0", _
                                        Nothing, Nothing)
       Doc.AppendChild(dec)
       Dim DocRoot As XmlElement = Doc.CreateElement("Orders")
       Doc.AppendChild(DocRoot)
       Dim x As Integer
       For x = 0 To 11
           Dim Order As XmlNode = Doc.CreateElement("Order")
           newAtt = Doc.CreateAttribute("Quantity")
           FakeQuantity = 10 * x + x
           newAtt.Value = FakeQuantity.ToString()
           Order.Attributes.Append(newAtt)
           DocRoot.AppendChild(Order)
       Next
       Doc.Save("OutDocument.xml")
   End Sub

End Class


 </source>


XmlDocument.CreateNavigator

<source lang="vbnet"> Imports System.Xml Imports System.Xml.XPath Imports System.Xml.Xsl Imports System.IO Public Class MainClass

  Shared Sub Main()
      Dim document As XmlDocument     " Xml document root
      Dim navigator As XPathNavigator " navigate document
      Dim transformer As XslTransform " transform document
      Dim output As StringWriter
      
     document = New XmlDocument()
     document.Load("games.xml")
     navigator = document.CreateNavigator
     transformer = New XslTransform()
     transformer.Load("games.xsl")
     output = New StringWriter()
     transformer.Transform(navigator, Nothing, output)
     Console.WriteLine(output.ToString)
     output.Close()
  End Sub

End Class


 </source>


XmlDocument.CreateXmlDeclaration

<source lang="vbnet">


public class DOMSave

  public Shared Sub Main
       Dim myDoc As New Xml.XmlDocument
       myDoc.AppendChild(myDoc.CreateXmlDeclaration("1.0", "UTF-8", String.Empty))
       myDoc.AppendChild(myDoc.CreateComment("information about this book"))
       Dim rootBook As Xml.XmlNode =myDoc.AppendChild(myDoc.CreateElement("book"))
       rootBook.Attributes.Append(myDoc.CreateAttribute("isbn"))
       rootBook.Attributes("isbn").Value = "0-672-32549-7"
       Dim title As Xml.XmlNode
       title = rootBook.AppendChild(myDoc.CreateElement("title"))
       title.InnerText = "Start"
       Dim authors As Xml.XmlNode = rootBook.AppendChild(myDoc.CreateElement("authors"))
       Dim Duncan, Andy, Erik, Joel As Xml.XmlNode
       Duncan = authors.AppendChild(myDoc.CreateElement("author"))
       Andy = authors.AppendChild(myDoc.CreateElement("author"))
       Erik = authors.AppendChild(myDoc.CreateElement("author"))
       Joel = authors.AppendChild(myDoc.CreateElement("author"))
       Duncan.InnerText = "D"
       Andy.InnerText = "A"
       Erik.InnerText = "E"
       Joel.InnerText = "J"
       Dim chapters As Xml.XmlNode = myDoc.CreateElement("chapters")
       rootBook.AppendChild(chapters)
       Dim chapterElements(10) As Xml.XmlElement
       For i As Integer = 0 To 10
           chapterElements(i) = myDoc.CreateElement("chapter")
           With chapterElements(i)
               .Attributes.Append(myDoc.CreateAttribute("id"))
               .Attributes("id").Value =CStr(i + 1)
               .Attributes.Append(myDoc.CreateAttribute("topic"))
           End With
           chapters.AppendChild(chapterElements(i))
       Next
       chapterElements(0).Attributes("topic").Value = "A"
       chapterElements(1).Attributes("topic").Value = "B"
       chapterElements(2).Attributes("topic").Value = "C"
       chapterElements(3).Attributes("topic").Value = "D"
       chapterElements(4).Attributes("topic").Value = "E"
       chapterElements(5).Attributes("topic").Value = "F"
       chapterElements(6).Attributes("topic").Value = "G"
       chapterElements(7).Attributes("topic").Value = "H"
       chapterElements(8).Attributes("topic").Value = "I"
       chapterElements(9).Attributes("topic").Value = "J"
       chapterElements(10).Attributes("id").Value = "K"
       chapterElements(10).Attributes("topic").Value = "L"
       Dim myWriter As New Xml.XmlTextWriter("test.xml", System.Text.Encoding.UTF8)
       myWriter.Formatting = Xml.Formatting.Indented
       myDoc.Save(myWriter)
       myWriter.Close()
  End Sub

End class


 </source>


XmlDocument.GetElementsByTagName

<source lang="vbnet"> Imports System.Xml Imports System.Xml.Serialization Imports System.IO Public Class MainClass

  Public Shared Sub Main()
       Dim rawData As String = _
           "<Products>" & _
           "  <Product>" & _
           "    <name>Name 1</name>" & _
           "    <Id>101</Id>" & _
           "    <quantity>10</quantity>" & _
           "  </Product>" & _
           "  <Product>" & _
           "    <name>Name 2</name>" & _
           "    <Id>102</Id>" & _
           "    <quantity>10</quantity>" & _
           "  </Product>" & _
           "</Products>"
       Dim xmlDoc As New XmlDocument
       Dim productNodes As XmlNodeList
       Dim productNode As XmlNode
       Dim baseDataNodes As XmlNodeList
       Dim bFirstInRow As Boolean
       xmlDoc.LoadXml(rawData)
       productNodes = xmlDoc.GetElementsByTagName("Product")
       For Each productNode In productNodes
           baseDataNodes = productNode.ChildNodes
           bFirstInRow = True
           For Each baseDataNode As XmlNode In baseDataNodes
               If (bFirstInRow) Then
                   bFirstInRow = False
               Else
                   Console.Write(", ")
               End If
               Console.Write(baseDataNode.Name & ": " & baseDataNode.InnerText)
           Next
       Next
  End Sub

End Class


 </source>


XmlDocument.LoadXml

<source lang="vbnet"> Imports System.Xml Imports System.Xml.Serialization Imports System.IO Public Class MainClass

  Public Shared Sub Main()
       Dim rawData As String = _
           "<Products>" & _
           "  <Product>" & _
           "    <name>Name 1</name>" & _
           "    <Id>101</Id>" & _
           "    <quantity>10</quantity>" & _
           "  </Product>" & _
           "  <Product>" & _
           "    <name>Name 2</name>" & _
           "    <Id>102</Id>" & _
           "    <quantity>10</quantity>" & _
           "  </Product>" & _
           "</Products>"
       Dim xmlDoc As New XmlDocument
       Dim productNodes As XmlNodeList
       Dim productNode As XmlNode
       Dim baseDataNodes As XmlNodeList
       Dim bFirstInRow As Boolean
       xmlDoc.LoadXml(rawData)
       productNodes = xmlDoc.GetElementsByTagName("Product")
       For Each productNode In productNodes
           baseDataNodes = productNode.ChildNodes
           bFirstInRow = True
           For Each baseDataNode As XmlNode In baseDataNodes
               If (bFirstInRow) Then
                   bFirstInRow = False
               Else
                   Console.Write(", ")
               End If
               Console.Write(baseDataNode.Name & ": " & baseDataNode.InnerText)
           Next
       Next
  End Sub

End Class


 </source>


XmlDocument.SelectNodes

<source lang="vbnet">

public class Test

  public Shared Sub Main
       Dim myDoc As New Xml.XmlDocument
       myDoc.Load("test.xml")
       Dim chpts As Xml.XmlNodeList = myDoc.SelectNodes("/book/chapters/chapter")
       For Each nd As Xml.XmlNode In chpts
           Console.WriteLine(nd.Attributes("id").Value)
       Next
       Dim book As Xml.XmlElement
       book = myDoc.Item("book")
       Console.WriteLine("ISBN: " & book.Attributes("isbn").Value)
       Dim title As Xml.XmlElement
       title = book.Item("title")
       Console.WriteLine(title.InnerText)
       Console.WriteLine("Authors:")
       Dim authors As Xml.XmlElement
       authors = book.Item("authors")
       For Each node As Xml.XmlNode In authors.ChildNodes
           If node.Name = "author" Then
               Console.WriteLine(node.InnerText)
           End If
       Next
       Dim chapters As Xml.XmlElement
       chapters = book.Item("chapters")
       For Each node As Xml.XmlNode In chapters.ChildNodes
           If node.Name = "chapter" Then
               Console.WriteLine(node.Attributes("id").Value)
               Console.WriteLine(node.Attributes("topic").Value)
           End If
       Next
  End Sub

End class


 </source>