asp.net如何通过自定义对象实现xml的序列化代码 _.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > asp.net如何通过自定义对象实现xml的序列化代码

asp.net如何通过自定义对象实现xml的序列化代码

 2011/7/29 7:52:27  橘子花为谁开  http://aijuan-52-126-com.iteye.com  我要评论(0)
  • 摘要:asp.net如何通过自定义对象实现xml的序列化代码System.Xml.Serialization命名空间中有一系列的特性类,用来控制复杂类型序列化的控制。例如XmlElementAttribute、XmlAttributeAttribute、XmlArrayAttribute、XmlArrayItemAttribute、XmlRootAttribute等等。看一个小例子,有一个自定义类Cat,Cat类有三个属性分别为Color,Saying,Speed
  • 标签:.net ASP.NET 实现 net 代码 自定义 XML
asp.net如何通过自定义对象实现xml的序列化代码

System.Xml.Serialization命名空间中有一系列的特性类,用来控制复杂类型序列化的控制。例如 XmlElementAttribute、XmlAttributeAttribute、XmlArrayAttribute、 XmlArrayItemAttribute、XmlRootAttribute等等。

看一个小例子,有一个自定义类Cat,Cat类有三个属性分别为Color,Saying,Speed。

    namespace UseXmlSerialization
    {
        class Program
        {
            static void Main(string[] args)
            {
                //声明一个猫咪对象
                var c = new Cat { Color = "White", Speed = 10, Saying = "White or black,  so long as the cat can catch mice,  it is a good cat" };

                //序列化这个对象
                XmlSerializer serializer = new XmlSerializer(typeof(Cat));

                //将对象序列化输出到控制台
                serializer.Serialize(Console.Out, c);

                Console.Read();
            }
        }

        [XmlRoot("cat")]
        public class Cat
        {
            //www.3ppt.com定义Color属性的序列化为cat节点的属性
            [XmlAttribute("color")]
            public string Color { get; set; }

            //要求不序列化Speed属性
            [XmlIgnore]
            public int Speed { get; set; }

            //设置Saying属性序列化为Xml子元素
            [XmlElement("saying")]
            public string Saying { get; set; }
        }
    }<SPAN style="FONT-FAMILY: verdana, Arial, Helvetica, sans-serif" face="verdana, Arial, Helvetica, sans-serif"><SPAN class=Apple-style-span style="FONT-SIZE: 14px; LINE-HEIGHT: 21px; WHITE-SPACE: normal">
    </SPAN></SPAN>


可以使用XmlElement指定属性序列化为子节点(默认情况会序列化为子节点);或者使用XmlAttribute特性制定属性序列化为Xml节点的属性;还可以通过XmlIgnore特性修饰要求序列化程序不序列化修饰属性。
发表评论
用户名: 匿名