使用XmlSerializer将对象序列化至XML文件中(VB.NET)
2009-02-17 10:24
483 查看
.NET框架提供了System.Xml.Serialization.XmlSerializer类型,为将对象序列化为XML或将XML序列化为对象提供了很大支持
先定义一个Person类
代码示例(VB.NET):
得到的XML文件如下:
可以看到,Person类型的每个属性都被实现为一个以该属性命名的XML元素。但是在导入由另一个程序产生的XML数据时,不能控制在序列化进程期间所采
用的XML架构。为了解决这一潜在的问题,我们可以改变XmlSerializer类型的默认属性。例如,改变XML元素的名称,确定将属性
(property)实现为XML属性(attribute),而不是实现为元素,例如以下XML片段:
通过将属性应用于Person类的成员,可以对XML序列化进程进行一定程度的控制。例如,还可以通过如下代码定义Person类型,来产生前面所示的XML文件。
先定义一个Person类
Public Class Person Public FirstName As String Public LastName As String End Class
代码示例(VB.NET):
Public Sub usexml() Dim pers As New Person With {.FirstName = "John", .LastName = "Evans"} '序列化至文件 Dim ser As New Xml.Serialization.XmlSerializer(GetType(Person)) Using fs As New IO.FileStream("C:/person.xml", IO.FileMode.Create) ser.Serialize(fs, pers) End Using '从文件反序列化 Using fs As New IO.FileStream("C:/person.xml", IO.FileMode.Open) Dim p As Person = DirectCast(ser.Deserialize(fs), Person) Console.WriteLine("{0} {1}", p.FirstName, p.LastName) '=> John Evans End Using End Sub
得到的XML文件如下:
<?xml version="1.0"?> <Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <FirstName>John</FirstName> <LastName>Evans</LastName> </Person>
可以看到,Person类型的每个属性都被实现为一个以该属性命名的XML元素。但是在导入由另一个程序产生的XML数据时,不能控制在序列化进程期间所采
用的XML架构。为了解决这一潜在的问题,我们可以改变XmlSerializer类型的默认属性。例如,改变XML元素的名称,确定将属性
(property)实现为XML属性(attribute),而不是实现为元素,例如以下XML片段:
<?xml version="1.0"?> <PersonalData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" first="John" last="Evans" />
通过将属性应用于Person类的成员,可以对XML序列化进程进行一定程度的控制。例如,还可以通过如下代码定义Person类型,来产生前面所示的XML文件。
<Xml.Serialization.XmlRoot("PersonalData")> _ Public Class Person <Xml.Serialization.XmlAttribute("first")> _ Public FirstName As String <Xml.Serialization.XmlAttribute("last")> _ Public LastName As String End Class
相关文章推荐
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务4[聊天室][使用IE浏览本页]
- ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效
- ASP.NET下使用xml反序列化、缓存实现个性化配置文件的实时生效
- 使用vb.net 修改xml文件中的数据
- VB.NET中操作xml文件
- 使用Java序列化把对象存储到文件中,再从文件中读出来
- .NET调用外部接口将得到的List数据,并使用XmlSerializer序列化List对象成XML格式
- VB.Net XML序列化中格式化日期
- SEO_ASP.net SEO优化(包含URL地址重写\viewState移动和压缩至服务器\SEO信息XML生成_根据URL地址重写文件)\web网站内容压缩 源码公开.本人授权可使用于商业项目。
- 怎么给这个xml文件建立对象,以便使对象和xml文件序列化和反序列化
- XmlSerializer 对象的Xml序列化和反序列化
- 使用windows服务和.NET FileSystemWatcher对象来监控磁盘文件目录的改变
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务1[使用IE浏览本页]
- .NET对象的XML序列化和反序列化
- 在VB中使用文件对象
- VB.NET中使用FTP下载文件的两种方法
- AJAX原始对象的使用(XMLHttpRequest+javascript+asp.net)
- 【翻译】使用ASP.NET序列化对象,基于http协议
- Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--前面6篇博文全部源代码下载地址
- XmlSerializer 对象的Xml序列化和反序列化