文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【转】.NET对象序列化2

【转】.NET对象序列化2

时间:2011-01-08  来源:ringwang

<XmlType("order")> _
Public Class OrderClass Order

    <XmlElement("id")> _
    Public ID As String

    <XmlArray("items"), XmlArrayItem("item")> _
    Public OrderItems() As OrderedItem

End Class

Public Class OrderItemClass OrderItem
    <XmlElement("name")> _
    Public ItemName As String
End Class


  被.NET序列化后的XML是:

<order>
    <id>20050405</id>
    <items>
        <item>
            <name>对象序列化</name>
        </item>
    </items>
</order>


  XmlType:可以应用于声明为Public的类、结构、枚举和接口。它定义了Xml类型的名字和命名空间。
  XmlElement:它定义了要序列化为XML元素的字段或属性。字段或属性必须声明为Public。
  XmlArray:它定义了要序列化为XML集合的字段或属性。字段或属性必须声明为Public。
  XmlArrayItem:定义了可以添加到集合中的派生类型。

  .NET还提供了其它的一些Attribute。全部的Attribut特性可以通过下面地址查看:
  ● Attributes That Control XML Serialization 
  如何使用这些Attribute,请查看:
  ● Controlling XML Serialization Using Attributes 


  有了这些Attribute,我们可以很容易的将对象序列化,但是由谁来完成呢?那就需要了解一下XmlSerializer了。ASP.NET 就是使用 XmlSerializer 类对 XML Web services 消息进行编码的。

  关于XmlSerializer 类请查看:
  ● XmlSerializer 类 
  ● XmlSerializer.Serialize 方法

   XmlSerializer的使用也非常简单:

        Dim serializer As New XmlSerializer(GetType(Order))
        Dim writer As New StreamWriter(filename)
        Dim o As New Order

        o.ID = “20050405”
        
        Dim item As OrderItem
        item.ItemName = “对象序列化”
        
        Dim items(0) As OrderItem
        items(0) = item
        
        o.OrderItems = items

        serializer.Serialize(writer, po)
        writer.Close()


  在使用XmlSerializer之前,可以先参考一下:
  ●XmlSerializer 常见问题疑难解答

排行榜 更多 +
祖玛泡泡龙(经典祖玛)下载

祖玛泡泡龙(经典祖玛)下载

休闲益智 下载
网络掠夺者最新版下载

网络掠夺者最新版下载

休闲益智 下载
迷你冲撞小游戏中文版下载

迷你冲撞小游戏中文版下载

休闲益智 下载