我使用的数据合同序列化序列化XML中的下列类的数据契约序列化:复杂类型
[DataContract]
public partial class Foo
{
[DataMember]
public string MyString { get; set; }
[DataMember]
public int MyInt { get; set; }
[DataMember]
public Bar MyBar { get; set; }
}
[DataContract]
public class Bar
{
public int BarId { get; set; }
[DataMember]
public string BarField { get; set; }
}
当我序列化它会产生这样的XML:
<Foo>
<MyString>My text</MyString>
<MyInt>2</MyInt>
<MyBar>
<BarField>My bar field</BarField>
</MyBar>
</Foo>
我会喜欢做的是让MyBar
字段不会显示为复杂类型,而是像这样代替:
<Foo>
<MyString>My text</MyString>
<MyInt>2</MyInt>
<MyBar>My bar field</MyBar>
</Foo>
我是数据协定序列化的新手,并没有找到任何解决我的问题的教程。我甚至不知道这是否可行,但我想我会问,之前我放弃和处理它的方式,或找到了一个更好的解决方案。
谢谢你的回答,但那不是我问的。我问是否可以在保持复杂类型的同时完成我想要的功能。如果你的解决方案只是抛弃复杂的类型,并把它做成一个字符串,那么你应该告诉我不。如果我的情况和我给出的例子一样简单,那会很好。不幸的是,它不是。 – jebar8
答案是否定的 – iMortalitySX