c# - xml解析: elements or attributes?什么更快

标签 c# xml linq benchmarking xmlreader

我正在编写解析 XML 的代码。

我想知道什么解析起来更快:元素还是属性。

这将对我的 XML 设计产生直接影响。

请针对 C# 的答案以及 LINQ 和 XmlReader 之间的区别。

谢谢。

最佳答案

设计您的 XML 架构,使信息的表示真正有意义。通常,在属性或元素中做某事的决定不会影响性能。

在大多数情况下,XML 的性能问题与以非常冗长的 XML 方言表示的大量数据有关。典型的对策是在通过网络存储或传输 XML 数据时将其压缩。

如果这还不够,则可能需要切换到另一种格式,例如 JSON、ASN.1 或自定义二进制格式。

解决问题的第二部分:XDocument (LINQ) 和 XmlReader 类之间的主要区别是 XDocument 类在内存中构建一个完整的文档对象模型 (DOM),这可能是一项昂贵的操作,而 XmlReader 类为您提供输入文档的标记化流。

关于c# - xml解析: elements or attributes?什么更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4249280/

相关文章:

c# - WCF:在回调中使用自定义类

c# - 需要一个关于用户可以与控制台窗口交互的控制台应用程序的示例

c# - 为什么 GroupJoin 不是左外连接?

c# - XDocument.XPathSelectElements : I can't seem get the xpath syntax right

c# - 如何连接控制台应用程序和 Windows 窗体应用程序 C#

c# - 在 .Net (C#) 中构建 Google 产品提要?

javascript - 从 RSS/Atom 提要中提取图像

xml - 遇到错误 #1067 : Implicit coercion of a value of type String to an unrelated type XML - AS3

c# - LINQ - 基于条件的多个 Where

c# - Linq - XElement 比较