我有一个看起来像这样的Xml(简化示例):
<childrenNode>
<myClass1>
<someValues />
</myClass1>
<myClass2>
<someOtherValues />
</myClass2>
<myClass1>
<someValues />
</myClass1>
<myClass2>
<someOtherValues />
</myClass2>
<myClass1>
<someValues />
</myClass1>
</childrenNode>
解析它时,我使用的类看起来像这样:
public class childrenNode
{
public myClass1[] myClass1 { get; set; }
public myClass2[] myClass2 { get; set; }
}
这个问题是我放弃了订购。我需要知道第二个myClass1是数组的第三个项目。理想情况下,我将Xml序列化为类似的东西,以保持顺序:
public class childrenNode
{
public object[] child { get; set; }
}
Xml由第三方应用程序输出,因此我无法更改其布局。
有关我有哪些替代方案的建议? Xml实际上很大,所以使用XmlReader解析它将会有很多工作。
答案 0 :(得分:2)
您可以使用XmlElementAttribute
msdn
public class childrenNode
{
[XmlElement("myClass1", typeof(myClass1))]
[XmlElement("myClass2", typeof(myClass2))]
public BaseNode[] nodes { get; set; }
}
public class BaseNode
{
}
public class myClass1: BaseNode
{
}
public class myClass2: BaseNode
{
}
答案 1 :(得分:0)
childrennode的自定义序列化
http://msdn.microsoft.com/en-us/library/ty01x675(v=vs.80).aspx