假如我有一个xml 文件如下。<root>
<a>a</a>
<sub>
<c>c</c>
<d>d</d>
</sub>
<e>e</e>
</root>
我现在想把xml 反序列化成 下面这这样的类,不借助 sub 类。public class root
{
        
property string a{get;set;}
property string c{get;set;}
property string d{get;set;}
property string e{get;set;}
}
xmlc#

解决方案 »

  1.   

    直接用 Linq2Xml 读取,实例化你的对象吧。否则用 XmlSerializer 太费劲了。
      

  2.   

    用XmlSerialzer也不麻烦    public class root : IXmlSerializable
        {
            public string a { get; set; }
            public string c { get; set; }
            public string d { get; set; }
            public string e { get; set; }        public XmlSchema GetSchema()
            {
                return null;
            }        public void ReadXml(XmlReader reader)
            {
                if (reader.NodeType != XmlNodeType.Element)
                    return;            var doc = XDocument.Parse(reader.ReadOuterXml());
                this.a = doc.Root.Element("a").Value;
                this.c = doc.Root.Element("sub").Element("c").Value;
                this.d = doc.Root.Element("sub").Element("d").Value;
                this.e = doc.Root.Element("e").Value;
            }        public void WriteXml(XmlWriter writer)
            {
            }
        }