参考了Fish LI的Xml读取文章,写了XML序列化和反序列化的文章。

序列化:把实体列转化成XML。反序列化:把XML按一定的规则转化成需要的实体列。

序列化和反序列化化使用到的类,

using System.Xml.Serialization;
using System.IO;
using System.Xml;

XML一些属性:

XMLAttribtue:属性

XMLText:xml值

XmlElement:xml标签值

XML调试,反序列化失败。常见的原因是XML的定义和Class类不一致,导致失败。我的做法是把class序列化,比较序列化的值和需要反序列化的XML有什么不同。

代码使用的类,Class C

 public class C
    {
        public string Company
        {
            get;
            set;
        }

        [XmlElement("B2")]
        public List<B> b
        {
            get;
            set;
        }
    }


    public class B
    {
        [XmlAttribute("sex")]
        public string B_Attribute
        {
            get;
            set;
        }

        [XmlAttribute("age")]
        public string B_Attribute_Age
        {
            get;
            set;
        }

        [XmlText]
     
        public string B_Name
        {
            get;
            set;
        }
    }
View Code

相关文章: