我正在尝试创建一个XML结构(不是从/向文件读/写,只是逻辑部分)。我真的很困惑如何去做和使用什么。在互联网上查看后,我看到了两个候选类:XmlDocument
和XDocument
(及其对节点,元素,属性等的相应引用)。
一个人必须被弃用,但我已经检查了相当近期的帖子(2010年甚至2011年),他们仍在建议使用这两种变体的代码。此外,Google检查XDocument
仅提供XmlDocument
带来的点击量的一小部分。
当整理那部分时,我已经看到了很多关于如何构建非常简单的 XML结构的不同示例。我想这种方法取决于建议者的能力水平,所以我直接问 - 要使用哪些类和语法?
答案 0 :(得分:0)
有两种构建XML文档的方法:使用一个将整个文档保存在内存中的类或一个单向XML编写器。
XDocument是构建适合内存的XML文档的推荐方法。它不适用于非常大的XML文件。 XmlDocument
尚未标记为已弃用,但我怀疑它可能会在未来版本的框架中出现。
XmlWriter适合构建无法适应内存的大型XML文档。与XDocument
相反,这是一个单向编写器,一旦编写了节点,就不能再返回并修改它。
还有第三种构建XML文档的方法,它属于第一类,也就是.NET类型的XML序列化。有几个类允许您实现DataContractSerializer和XmlSerializer。
答案 1 :(得分:0)
答案 2 :(得分:0)
XmlDocument
获得的计数大约是XDocument
的20倍,但前者已被弃用,后者将被使用。
至于对这种现象的解释,我假设很多代码是使用已弃用的类创建的(根据那个时期的标准,使用它们是巨大的方便)。多年以后,人们正在使用“什么在起作用”,却没有意识到“街区有一个新生儿”。
这是一个关于如何创建逻辑XML结构的简单示例。
XDocument xml = new XDocument(
new XElement("main",
new XElement("first", "---"),
new XElement("second",
new XElement("first sub", "---"),
new XElement("second sub", "---"))
));
有关此主题的更多信息,请参阅here。