我正在使用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>
答案 0 :(得分:1)
XmlSerializer
不支持这一点,请注意,因为它无法知道.Name
提前<AP>
映射到AP,因此无法对其进行反序列化。< / p>
要使用XmlSerializer
执行此操作,您必须实施IXmlSerializable
,这是一项很多工作;但是,我怀疑使用像DOM这样的东西(例如XElement
)会更容易。
TL; DR; 版本
不要将
XmlSerializer
用于XmlSerializer
无法帮助您的方案
答案 1 :(得分:0)
您可以通过实施IXmlSerializable
自行申请AFAIK