.net - 性能:XDocument 与 XmlDocument

标签 .net xml performance linq-to-xml xmldocument

我看过两者的比较here .这主要是一个性能问题,与内存和速度有关。

我有几个大小超过 100 - 300 K 的 XML 文档。我注意到将此信息加载到 XDocument 而不是 XmlDocument 对象时存在一些滞后。

  • 这两个对象之间是否存在严重的性能差异?
  • 他们访问 XML 内容的方式是否不同?
  • 在处理 XML 字符串时,哪个是首选,或者有区别吗?

这些对象的最终用途是根据相关对象运行查询(XPath 或 LINQ,具体取决于)。

最佳答案

XmlDocument 是文档对象模型的纯托管实现。没有与任何 COM 组件(例如 MSXML 库)的互操作性。任何其他说法都是完全虚假的。随着在 .NET Framework 中引入 LINQ,整套 XLinq API 成为了一种与 XML 交互的更友好的方式。

如果您正在尝试最大化性能并且习惯使用 XPath,请尝试使用 XmlDocument 并使用 compiled XPath expressions .

关于.net - 性能:XDocument 与 XmlDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383919/

相关文章:

python - 将字典值分配给变量或连续访问更快?

.net - 一个事务中的多个 NHibernate session

c# - C# 中 XML List<T> 反序列化的问题

c - OpenMP for 循环

java - 需要有关将元素属性转换为元素的 xslt 逻辑的帮助

jquery - 读取页面内容,转换为json,输入SQL?

c++ - C++ 循环中 vector 的性能

c# - DocumentComplete 在页面完全加载之前触发

c# - 为什么我在 Visual Studio 中的 HTML 按钮在双击时没有创建事件处理程序?

.net - 在使用来自客户端的 channel 之前,如何检查 WCF 主机是否可用?