我有一个看起来像这样的课程
public class SomeClass
{
public SomeChildClass[] childArray;
}
将从XMLSerializer输出XML,如下所示:
<SomeClass>
<SomeChildClass>
...
</SomeChildClass>
<SomeChildClass>
...
</SomeChildClass>
</SomeClass>
但我希望XML看起来像这样:
<SomeClass>
<SomeChildClass index=1>
...
</SomeChildClass>
<SomeChildClass index=2>
...
</SomeChildClass>
</SomeClass>
其中index属性等于数组中的项位置。
我可以使用“XMLAttribute”属性向SomeChildClass添加索引属性,但是我必须记住在序列化对象之前循环遍历数组并设置该值。
我可以添加一些属性或者为我自动生成索引属性的其他方法吗?
答案 0 :(得分:2)
最好的方法是按照你所说的做,并将属性添加到“SomeChildClass”中,如下所示
[XmlAttribute("Index")]
public int Order
{ { get; set; } }
然后,您要将这些项添加到数组中,请确保已设置此属性。然后当你序列化.... Presto!
答案 1 :(得分:0)
您可能需要考虑实现System.Xml.Serialization.IXmlSerializable来实现此目的。
答案 2 :(得分:0)
您可以检查XmlAttributeOverrides类。