2
我有一个来自C#的标准XmlSerializer的问题。在项目中,我的下一个类层次结构:
[XmlInclude(typeof(B))]
[XmlInclude(typeof(C))]
abstract class A { }
[XmlType("btag")]
class B : A {
[XmlText]
public String Value { get; set; }
}
[XmlType("ctag")]
class C : A {
[XmlText]
public String Value { get; set; }
}
[XmlRoot(ElementName="dtag")]
class D {
[XmlArrayItem(typeof(A))]
public List<A> Items { get; set; }
}
我需要序列d类下一个XML文档中:下一个XML文档中的d级
<dtag>
<ctag>val1</ctag>
<btag>val2</btag>
<ctag>val3</ctag>
</dtag>
但串行序列化对象:
<dtag>
<Items>
<C d3p1:type="ctag">val1</C>
<B d3p1:type="btag">val2</B>
<C d3p1:type="ctag">val3</C>
</Items>
</d>
所有类名和其他实现细节都被省略了,我不能改变这个类的层次结构。我只能更改属性并在上面的类中添加一些字段。现在是我的问题 - 我如何可以省略输出XML中的标签项目并使元素名称ctag和btag?
您确定它使用''和' '? –
2014-11-05 11:59:39
是的,我可以提供额外的代码,它与串行器一起工作,你可以在自己的环境中尝试它 – magmel 2014-11-05 12:17:45
Nevermind,我很困惑它与WCF串行器。这将把所有的B和C变成'' – 2014-11-05 12:37:46