我有一堂课,看起来像这样

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,但是随后我必须记住在序列化对象之前遍历数组并设置该值。

是否可以添加一些属性或为我自动生成索引属性的其他方法?

最佳答案

最好的方法是按照您所说的做,并像这样向“ SomeChildClass”添加属性

[XmlAttribute("Index")]
public int Order
{  { get; set; }   }


然后将这些项添加到数组中,请确保已设置此属性。然后当您序列化时...。

关于c# - 在XML序列化中包含数组索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/162986/

10-10 18:46