VB.Net/XML/XML Serialize
Версия от 16:40, 26 мая 2010; (обсуждение)
Serialize Class to XML Document
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
XmlSerializer Demo
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>