C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Next: The XmlWriterSettings dim is created. We do this to ensure that the resulting XML file will have whitespace and will be readable.
WriteStartDocument: WriteStartDocument and root element. Next the WriteStartDocument subroutine is invoked.
And: This writes the header line of the XML file to the disk. The root element <Employees> is then created.
For-Each: Elements are written with all the values from the fields in the Employee class. After the For Each terminates, the document is ended.
For Each, ForVB.NET program that uses XmlWriter
Imports System.Xml
Module XmlModule
''' <summary>
''' Employee type.
''' </summary>
Class Employee
Public Sub New(ByVal id As Integer, ByVal firstName As String, _
ByVal lastName As String, ByVal salary As Integer)
' Set fields.
Me._id = id
Me._firstName = firstName
Me._lastName = lastName
Me._salary = salary
End Sub
' Storage of employee data.
Public _firstName As String
Public _id As Integer
Public _lastName As String
Public _salary As Integer
End Class
Sub Main()
' Create array of employees.
Dim employees(2) As Employee
employees(0) = New Employee(1, "Prakash", "Rangan", 70000)
employees(1) = New Employee(5, "Norah", "Miller", 21000)
employees(2) = New Employee(17, "Cecil", "Walker", 60000)
' Create XmlWriterSettings.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.Indent = True
' Create XmlWriter.
Using writer As XmlWriter = XmlWriter.Create("C:\employees.xml", settings)
' Begin writing.
writer.WriteStartDocument()
writer.WriteStartElement("Employees") ' Root.
' Loop over employees in array.
Dim employee As Employee
For Each employee In employees
writer.WriteStartElement("Employee")
writer.WriteElementString("ID", employee._id.ToString)
writer.WriteElementString("FirstName", employee._firstName)
writer.WriteElementString("LastName", employee._lastName)
writer.WriteElementString("Salary", employee._salary.ToString)
writer.WriteEndElement()
Next
' End document.
writer.WriteEndElement()
writer.WriteEndDocument()
End Using
End Sub
End Module
File written:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee>
<ID>1</ID>
<FirstName>Prakash</FirstName>
<LastName>Rangan</LastName>
<Salary>70000</Salary>
</Employee>
<Employee>
<ID>5</ID>
<FirstName>Norah</FirstName>
<LastName>Miller</LastName>
<Salary>21000</Salary>
</Employee>
<Employee>
<ID>17</ID>
<FirstName>Cecil</FirstName>
<LastName>Walker</LastName>
<Salary>60000</Salary>
</Employee>
</Employees>
Also: The data inside the employee array could be acquired from another data source, such as a Windows Forms control or a database server.
Tip: With the right level of abstraction, a type such as XmlWriter can make your life easier.