xml 反序列化 子节点上移。
假如我有一个xml 文件如下。
<root>
<a>a</a>
<sub>
<c>c</c>
<d>d</d>
</sub>
<e>e</e>
</root>
我现在想把xml 反序列化成 下面这这样的类,不借助 sub 类。
xml c# --------------------编程问答-------------------- 直接用 Linq2Xml 读取,实例化你的对象吧。
public class root
{
property string a{get;set;}
property string c{get;set;}
property string d{get;set;}
property string e{get;set;}
}
否则用 XmlSerializer 太费劲了。 --------------------编程问答-------------------- 楼上正解..... --------------------编程问答-------------------- 用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)
{
}
}
补充:.NET技术 , C#