1

我正在使用 XmlSerializer 序列化一个类,该类有一个对象列表作为它的一部分。现在发生的事情是,子标记名称从类名中获取名称,但我想要的是它从类名中获取名称子类中的公共字段。请帮助,我应该使用哪个 xml 属性来使其工作。

我有这个代码:

SessionAnalyser sa = new SessionAnalyser();
Circle c = new Circle();
c.Name = "AP";// I want this property as the TAG Name

我得到的 XML O/P:

<SessionAnalyser>
<Circle>
<Name>AP</Name>
...
</Circle>
</SessionAnalyser> 

所需的 XML O/P:

<SessionAnalyser>
<AP>
...
</AP>
</SessionAnalyser> 
4

2 回答 2

1

XmlSerializer不支持这一点,请注意,因为它无法提前知道.Name映射到 AP,所以它无法反序列化它。<AP>

要做到这一点,XmlSerializer您必须实施IXmlSerializable,这是很多工作;但是,我怀疑使用 DOM 之类的东西(XElement例如)会更容易。

TL;博士; 版本

不要用于对您没有帮助XmlSerializer的场景XmlSerializer

于 2012-05-15T07:15:47.637 回答
0

AFAIK,您可以通过实现IXmlSerializable自行实现

于 2012-05-15T07:16:10.993 回答