0

我正在尝试创建一个 XML 结构(不是读/写文件,只有逻辑部分)。我真的很困惑如何去做以及有什么用。在互联网上查看后,我看到了两个候选类:XmlDocumentXDocument(及其对节点、元素、属性等的相应引用)。

一个必须被弃用,但我检查了最近的帖子(2010 年甚至 2011 年),他们仍然建议使用这两种变体的代码。此外,谷歌检查XDocument只给出了所XmlDocument带来的点击率的一小部分。

整理完这部分后,我看到了许多不同的示例,这些示例说明了如何组成一个非常简单的XML 结构。我想这种方法取决于建议它的人的能力水平,所以我直接问 - 使用什么类和语法?

4

3 回答 3

0

有两种构建 XML 文档的方法:使用将整个文档保存在内存中的类或单向 XML 编写器。

  • XDocument是构建适合内存的 XML 文档的推荐方法。它不适合非常大的 XML 文件。XmlDocument尚未标记为已弃用,但我怀疑它可能会出现在框架的未来版本中。

  • 另一方面,XmlWriter适合构建无法放入内存的大型 XML 文档。与此相反,XDocument这是一个单向写入器,一旦写入节点,您就不能再返回并修改它。

还有第三种构建 XML 文档的方法,它属于第一类,它是通过 .NET 类型的 XML 序列化。有几个类可以让您实现这一点,例如DataContractSerializerXmlSerializer

于 2012-09-17T10:29:45.030 回答
0

性能有差异!

读取性能:LINQ to XML vs XmlDocument vs XmlReader

Linq to XML 比 XmlDocument 更快

于 2012-09-17T10:30:04.757 回答
0

几周前我遇到了同样的问题。显然,您不能相信数字 -XmlDocument大约是计数命中的 20 倍,XDocument 前者已被弃用,而后者将被使用。

至于对这种现象的解释,我假设大量代码是使用已弃用的类创建的(按照那个时期的标准,使用它们非常方便)。多年后,人们在使用“什么是有效的”时没有意识到有一个“新来的孩子”。

这是一个关于如何创建逻辑 XML 结构的简单示例。

XDocument xml = new XDocument(
  new XElement("main",
    new XElement("first", "---"),
    new XElement("second",
      new XElement("first sub", "---"),
      new XElement("second sub", "---"))
));

更多关于这个主题的内容可以在这里阅读。

于 2012-09-17T10:33:40.697 回答