六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

串行化XML(二)

[摘要]由 串行化XML(一) 可以知道XML的序列化(Serialization)。它是這樣一個(gè)過(guò)程:得到一個(gè)對(duì)象,把對(duì)象轉(zhuǎn)換為一個(gè)XML文檔,并且保存它以供使用,或者把它傳到網(wǎng)絡(luò)上其他地方以供使用。在.NET中,XML serialization通過(guò)檢查類的屬性是否被標(biāo)志為read/write來(lái)工作。...
由 串行化XML(一) 可以知道XML的序列化(Serialization)。它是這樣一個(gè)過(guò)程:得到一個(gè)對(duì)象,把對(duì)象轉(zhuǎn)換為一個(gè)XML文檔,并且保存它以供使用,或者把它傳到網(wǎng)絡(luò)上其他地方以供使用。在.NET中,XML serialization通過(guò)檢查類的屬性是否被標(biāo)志為read/write來(lái)工作。只要有其中一個(gè)屬性,該類的值就會(huì)被取出并插入到一個(gè)XML文檔里去。反序列化(De-serialization)則是一個(gè)相反的過(guò)程。




將一個(gè)對(duì)象串行化為xml后,再并行化,使其還原為原來(lái)的對(duì)象有時(shí),在并行的xml當(dāng)中可能存在意外的xml節(jié)點(diǎn)。

如果不處理這些意外的xml 的節(jié)點(diǎn),XmlSerializer將忽略這些意外的節(jié)點(diǎn),如果要處理這些意外節(jié)點(diǎn),可以使用XmlSerializer的一下事件進(jìn)行處理:

¨ UnknownNode

¨ UnknownElement

¨ UnknownAttribute

¨ UnreferencedObject

現(xiàn)在將book.xml的格式更改為:

<?xml version="1.0" encoding="utf-8"?>

<Book id="001" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<BookID>1</BookID>

<BookName>數(shù)學(xué)</BookName>

<Exception>Some Text</Exception>

</Book>

我們?cè)黾恿艘恍┮馔獾墓?jié)點(diǎn)、屬性,然后執(zhí)行并行化過(guò)程:

Dim serializer As New Xml.Serialization.XmlSerializer(GetType(bookShop))

AddHandler serializer.UnknownAttribute, AddressOf myUnknownAttribute

AddHandler serializer.UnknownElement, AddressOf myUnknownElement

AddHandler serializer.UnknownNode, AddressOf myUnknownNode
Dim reader As System.IO.StreamReader = New System.IO.StreamReader("E:\serializer\book.xml")

Dim a As bookShop = CType(serializer.Deserialize(reader), bookShop)

reader.Close()

Console.WriteLine("BookShop Name:" & a.BookName)

Console.WriteLine("BookShop ID:" & a.BookID)

Console.WriteLine("Print Enter to Exit.............")

Console.ReadLine()

我們同樣增加了意外節(jié)點(diǎn)、屬性的處理代碼,執(zhí)行結(jié)果為:




這樣我們就可以查看那些意外的節(jié)點(diǎn)、屬性的信息了。

另外,我們還可以靈活的控制串行化xml 的格式,這樣可以很方便的與外部應(yīng)用程序進(jìn)行交換對(duì)象。我們可以在類中加入.NET Framework屬性來(lái)控制串行化xml 的格式。

Imports System.Xml

Imports System.Xml.Serialization

<XmlRoot(elementname:="Root_Book", namespace:="URI:MylocalURI")> _

Public Class Book

<XmlElement(elementname:="Book_ID", namespace:="URI:MylocalURI")> Public BookID As Integer

<XmlAttributeAttribute(AttributeName:="Name")> _

Public BookName As String

<XmlText()> _

Public test_Text As String

<XmlIgnore()> _

Public IgnoreText As String

‘IgnoreText 將不被串行化

End Class

Module Serialization

<STAThread()> _

Public Sub main()

Dim book As New book

book.BookID = 1

book.BookName = "數(shù)學(xué)"

book.test_Text = "Some Text"

book.IgnoreText = "IgnoreText"

Dim serializer As New Xml.Serialization.XmlSerializer(GetType(book))

Dim writer As System.IO.StreamWriter = New System.IO.StreamWriter("E:\serializer\book.xml")

serializer.Serialize(writer, book)

writer.Close()

End Sub

End Module

則生成的XML格式為:

<?xml version="1.0" encoding="utf-8"?>

<Root_Book xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="數(shù)學(xué)" xmlns="URI:MylocalURI">

<Book_ID>1</Book_ID>

Some Text

</Root_Book>






標(biāo)簽:串行化XML(二) 
主站蜘蛛池模板: 人碰人操| 中文字幕欧美日韩在线不卡 | 一区二区三区在线视频观看 | 日本视频在线观看不卡高清免费 | 婷婷激情片| 色网站综合 | 亚洲国产成人久久综合一区77 | 亚洲自偷自偷图片在线高清 | 亚洲黄视频在线观看 | 羞羞爱爱 | 四虎影院免费看 | 欧美自拍三级 | 日韩在线不卡视频 | 日本免费人成在线网站 | 天天干天天看 | 亚洲伦理网站 | 青青青免费观看在线视频网站 | 中文字幕在线观看不卡视频 | 伊人婷婷在线 | 亚洲视频欧美视频 | 亚洲国产天堂久久综合图区 | 色窝视频 | 午夜啪啪福利视频 | 欧美夜夜骑 | 欧美又大又粗又爽又硬 | 日韩午夜在线视频不卡片 | 日韩欧美中文字幕一区二区三区 | 日韩视频在线观看免费 | 日本不卡在线一区二区三区视频 | 亚洲第一欧美 | 日本黄视频在线观看 | 四虎在线网址 | 日韩一区二区在线免费观看 | 中文字幕高清免费不卡视频 | 青娱极品盛宴国产一区 | 天堂最新版资源www在线 | 欧美一区网站 | 欧美一级中文字幕 | 午夜大片免费完整在线看 | 日韩视频在线精品视频免费观看 | 亚洲精品乱码久久久久久中文字幕 |