VB.Net/XML/XML File Creation
Содержание
Build an XML Document
Imports System
Imports System.Xml
Imports System.IO
Public Class MainClass
Shared Sub Main()
Dim memory_stream As New MemoryStream()
Dim xml_text_writer As New XmlTextWriter(memory_stream, System.Text.Encoding.UTF8)
xml_text_writer.Formatting = Formatting.Indented
xml_text_writer.Indentation = 4
xml_text_writer.WriteStartDocument(True)
xml_text_writer.WriteStartElement("Employees")
MakeEmployee(xml_text_writer, "A", "A", 1)
MakeEmployee(xml_text_writer, "B", "B", 2)
MakeEmployee(xml_text_writer, "C", "C", 3)
xml_text_writer.WriteEndElement()
xml_text_writer.WriteEndDocument()
xml_text_writer.Flush()
Dim stream_reader As New StreamReader(memory_stream)
memory_stream.Seek(0, SeekOrigin.Begin)
Console.WriteLine( stream_reader.ReadToEnd())
xml_text_writer.Close()
End Sub
" Add a node to the document.
Shared Private Sub MakeEmployee(ByVal xml_text_writer As XmlTextWriter, ByVal first_name As String, ByVal last_name As String, ByVal emp_id As Integer)
" Start the Employee element.
xml_text_writer.WriteStartElement("Employee")
" Write the FirstName.
xml_text_writer.WriteStartElement("FirstName")
xml_text_writer.WriteString(first_name)
xml_text_writer.WriteEndElement()
" Write the LastName.
xml_text_writer.WriteStartElement("LastName")
xml_text_writer.WriteString(last_name)
xml_text_writer.WriteEndElement()
" Write the EmployeeId.
xml_text_writer.WriteStartElement("EmployeeId")
xml_text_writer.WriteString(emp_id.ToString)
xml_text_writer.WriteEndElement()
" Close the Employee element.
xml_text_writer.WriteEndElement()
End Sub
End Class
Create XML document: XmlDocument, XmlAttribute, XmlElement
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
" Use the XmlDeclaration class to place the
" <?xml version="1.0"?> declaration at the top of our XML file
Dim dec As XmlDeclaration = Doc.CreateXmlDeclaration("1.0", _
Nothing, Nothing)
Doc.AppendChild(dec)
Dim DocRoot As XmlElement = Doc.CreateElement("Orders")
Doc.AppendChild(DocRoot)
" Generate a couple of phony orders
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
Creating Xml with XmlTextWriter
Imports System.IO
Imports System.Xml
Public Class Form1
Public Shared Sub Main()
Dim fs As FileStream = New FileStream("aaa", FileMode.Create)
Dim w As XmlTextWriter = New XmlTextWriter(fs, Nothing)
w.WriteStartDocument()
w.WriteStartElement("mydocument")
w.WriteAttributeString("name", "", "Description")
w.WriteComment("This is the comment, etc.")
w.WriteStartElement("person")
w.WriteStartElement("name")
w.WriteString("M")
w.WriteEndElement()
w.WriteStartElement("phone")
w.WriteString("555-5555")
w.WriteEndElement()
w.WriteEndElement()
w.WriteEndElement()
w.WriteEndDocument()
w.Close()
End Sub
End Class
Output with XmlWriter
Imports System.Xml
Public Class Example5
Shared Sub Main
Dim writer As XmlWriter
writer = XmlWriter.Create("output.xml")
writer.WriteStartDocument()
writer.WriteStartElement("pubs")
writer.WriteStartElement("titles")
writer.WriteStartAttribute("name")
writer.WriteValue("Database Guide")
writer.WriteEndAttribute()
writer.WriteStartAttribute("price")
writer.WriteValue(19.99)
writer.WriteEndAttribute()
writer.WriteEndElement()
writer.WriteEndElement()
writer.Close()
End Sub
End Class
Read and write XML with XmlReader and XmlWriter
Imports System.Xml
Public Class Example1
Shared Sub Main()
Dim reader As XmlReader
Dim writer As XmlWriter
reader = XmlReader.Create("pubs.xml")
writer = XmlWriter.Create("output.xml")
While reader.Read()
writer.WriteNode(reader, True)
End While
reader.Close()
writer.Close()
End Sub
End Class
Use XmlWriter to generate XML document
Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO
Public Class MainClass
Public Shared Sub Main()
Dim myXmlSettings As New XmlWriterSettings
myXmlSettings.Indent = True
myXmlSettings.NewLineOnAttributes = True
Using ProductWriter As XmlWriter = XmlWriter.Create("test.xml", myXmlSettings)
ProductWriter.WriteComment("www.vbex.ru ")
ProductWriter.WriteStartElement("Product")
ProductWriter.WriteAttributeString("Id", "101")
ProductWriter.WriteAttributeString("COunt", "10")
ProductWriter.WriteElementString("P1", "P2")
ProductWriter.WriteEndElement()
End Using
End Sub
End Class