【问题标题】:Reading XML file faster in ASP.NET在 ASP.NET 中更快地读取 XML 文件
【发布时间】:2025-12-10 23:05:01
【问题描述】:

我有多个需要解析的 XML 文件。问题是我只需要最后几行中的一些数据。

我目前使用 XMLTextReader 和 reader.ReadToFollowing("DATANEEDED");但它仍然太慢了。有谁知道我是否可以“尾随”一个 XML 文件并从那里读取? (考虑到尾部不是有效的 XML 文件)或任何其他方法来检索 XML 中的最后几个节点而不解析整个 XML 文件?

我使用的是 .NET 2.0,所以没有内置 linq :(

谢谢

【问题讨论】:

  • 也许看到 (Stream, XmlNodeType, XmlParserContext) 重载的构造函数......你可能仍然需要最初将流定位在一个有效元素上——我不知道——但这应该尽可能快地移动你移动流:-)

标签: asp.net xml .net-2.0 xmltextreader


【解决方案1】:

XmlDocument 是更好的选择。在其中使用 xPath 查询。我猜XmlDocument 会自动关心性能。

【讨论】:

  • 你猜错了。使用 XMLDocument 会比 XMLTextReader 慢几个数量级,尤其是对于大文件。
  • 我也是这么读的。 XMLTextReader 似乎是最快的。
  • XmlDocument 慢很多,例如nearinfinity.com/blogs/joe_ferner/…