在XML序列化中包含arrary索引
时间:2020-03-06 15:02:01 来源:igfitidea点击:
我有一堂课,看起来像这样
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,但是随后我必须记住在序列化对象之前循环遍历数组并设置该值。
是否可以添加一些属性或者为我自动生成索引属性的其他方法?
解决方案
我们可能需要研究实现System.Xml.Serialization.IXmlSerializable才能完成此任务。
我们可以检查XmlAttributeOverrides类。
最好的方法是按照我们说的做,然后像这样将属性添加到" SomeChildClass"中
[XmlAttribute("Index")] public int Order { { get; set; } }
然后将这些项添加到数组中,请确保已设置此属性。然后当我们序列化时...。