我已经阅读了这两个对象的比较结果,在这里。这主要涉及内存和速度方面的性能问题。
我有几个 XML 文档,大小在 100 到 300 K 之间。我注意到将这些信息加载到 XDocument
对象中时会存在一些延迟,而不是使用 XmlDocument
对象。
- 这两个对象之间是否有严重的性能差异?
- 它们是否以不同的方式访问 XML 内容?
- 在使用 XML 字符串时,哪一个更好,还是有区别?
这些对象的最终用途是在相关的对象上运行查询 (XPath
或 LINQ, 取决于情况)。
我已经阅读了这两个对象的比较结果,在这里。这主要涉及内存和速度方面的性能问题。
我有几个 XML 文档,大小在 100 到 300 K 之间。我注意到将这些信息加载到 XDocument
对象中时会存在一些延迟,而不是使用 XmlDocument
对象。
这些对象的最终用途是在相关的对象上运行查询 (XPath
或 LINQ, 取决于情况)。
XmlDocument是文档对象模型(DOM)的纯托管实现。与任何COM组件(如MSXML库)不存在互操作性。任何其他说法都是完全虚假的。随着LINQ在.NET Framework中的引入,整个XLinq API集合也作为一种更友好的与XML交互的方式而出现。
如果您尝试最大化性能并且熟悉使用XPath,请尝试使用XmlDocument并使用编译的XPath表达式。
XmlReader
是.NET中最基础的API,所有其他XML API都在其底层使用。自然而然地,这意味着它最难处理,但也是最快速的。它是一种流式API,因此最适合内存。在XmlDocument
和XDocument
(也称为Linq to XML)之间,以下是一些原始数据:https://learn.microsoft.com/en-us/archive/blogs/codejunkie/xmldocument-vs-xelement-performance,其中发现XDocument
类更快/更有效率。同时也不应忽略程序员的生产力/效率。个人认为使用XDocument
更容易操作。