如今,将域对象序列化/反序列化为xml文档的最佳方法是什么? XmlSerializer或Linq To XML?每种解决方案的优缺点是什么?
答案 0 :(得分:2)
这是我现在使用Linq to XML 的主要好处。
XmlSerializer需要一个默认(无参数)构造函数。因此,如果您正在进行任何类型的控制反转并通过构造函数将依赖项传递到您的类中,您还需要一个默认的构造函数来绕过这些依赖项的注入。这有点打败了使用构造函数注入的整个目的。
当然,使用Linq to XML,您需要编写自己的序列化代码,但我已经使用一组方法(如FromXml
和ToXml
)或仅使用{具有getter和setter的{1}}属性,用于对需要保存的字段进行序列化。我喜欢在代码中使用该控件,而不必在某些属性上使用属性来忽略它们。