在.Net中进行单向XML序列化有哪些方法? XmlSerializer不会写没有公共setter的属性。虽然这种限制对于反序列化是可以理解的,但我对网络使用的序列化感到满意。 JSON.Net序列化在这种情况下非常有用,因为即使某些属性没有定义setter,它也会对整个对象图进行序列化,而不是明确。
这些类的主要目标是普通的.Net类库。在90%的情况下,这些类被其他代码使用,因此我追求的解决方案不会牺牲类的正常可用性。
生成的类库应该支持.Net 2.0。
答案 0 :(得分:3)
我会看一下DataContractSerializer
。虽然此类型在.NET 3.0框架中声明,但不会阻止您在项目中使用新版本的System.Runtime.Serialization.dll
。
为了更好地了解DataContractSerializer
与XmlSerializer
的区别,我会查看Chris Lively's answer。
答案 1 :(得分:2)
您可能想要查看此网站:XmlSerializer vs DataContractSerializer
除此之外,您可以考虑覆盖对象的序列化方式,并自行决定xml流中应该和不应该的内容。