VB.Net/XML/XML Serialize
Serialize Class to XML Document
<source lang="vbnet"> Imports System Imports System.Xml.Serialization Imports System.IO Public Class MainClass
Shared Sub Main() Dim emp As New Employee("Joe", "Yin") Dim string_writer As New StringWriter() Dim serializer As New XmlSerializer(GetType(Employee)) serializer.Serialize(string_writer, emp) Console.WriteLine(string_writer.ToString) End Sub
End Class
<Serializable()> _ Public Class Employee Public FirstName As String Public LastName As String Public Sub New() End Sub Public Sub New(ByVal first_name As String, ByVal last_name As String) FirstName = first_name LastName = last_name End Sub End Class </source>
XmlSerializer Demo
<source lang="vbnet"> Imports System.Xml Imports System.Xml.Serialization Imports System.IO
Public Class MainClass
Public Shared Sub Main() Dim dehydrated As FileStream = New FileStream("test.xml", FileMode.Open) Dim serialize As XmlSerializer = New XmlSerializer(GetType(Product_Multiple)) Dim myProduct As Product_Multiple = New Product_Multiple myProduct = serialize.Deserialize(dehydrated) Dim SingleProduct As Product For Each SingleProduct In myProduct.multiProducts Console.Out.WriteLine("{0}, {1}, {2}", _ SingleProduct.name, _ SingleProduct.productId, _ SingleProduct.quantity) Next End Sub
End Class
Public Class Product_Multiple
Public multiProducts() As Product Public Sub New() End Sub Public Sub New(ByVal multiProducts() As Product) Me.multiProducts = multiProducts End Sub
End Class
Public Class Product
Public name As String Public productId As Integer Public quantity As Integer Public Sub New() End Sub Public Sub New(ByVal name As String, _ ByVal productId As Integer, _ ByVal quantity As Integer) Me.name = name Me.productId = productId Me.quantity = quantity End Sub
End Class
"<?xml version="1.0" encoding="utf-8" ?> "<Product_Multiple xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> " <multiProducts> " <Product> " <name>Grease</name> " <productId>101</productId> " <quantity>10</quantity> " </Product> " <Product> " <name>Lawrence of Arabia</name> " <productId>102</productId> " <quantity>10</quantity> " </Product> " <Product> " <name>Star Wars</name> " <productId>103</productId> " <quantity>10</quantity> " </Product> " </multiProducts> "</Product_Multiple>
</source>