在下面的组成中,请注意序列化属性是小写的,并且根中的数组属性相应地序列化,但其子元素不符合此修饰。
我说这个:
<engine>
<servos>
<servo>
</servo>
</servos>
</engine>
但我得到了这个:
<engine>
<servos>
<Servo> <!-- here is the problem-->
</Servo>
</servos>
</engine>
代码:
[XmlRoot( "engine" )]
public class Engine {
[XmlArray( "servos" )]
public List<Servo> Servos {
get { return servos; }
set { servos = value; }
}
}
[XmlRoot( "servo" )] //Child ignoring lowercase decoration
public class Servo {
}
如属性所示,序列化的正确方法是什么?
答案 0 :(得分:1)
您必须将XmlArrayItem属性添加到Servos
属性:
[XmlArrayItem( "servo" )]
[XmlArray("servos")]
public List<Servo> Servos {
get;
set ;
}
}