【问题标题】:Quickest/best way to read XML读取 XML 的最快/最佳方式
【发布时间】:2011-03-16 10:42:08
【问题描述】:

我需要读取可能很大 (~300mb) 的 XML 文件,并编辑一些节点。基本上我需要:

  • 从头开始读取 XML
  • 每当我找到一个名为 trgt 的节点时
  • 添加一些文本

在 C# 中处理此问题的最佳方法是什么?我应该使用哪些 XML 类来查找和编辑需要更改的节点?

TIA

【问题讨论】:

    标签: c# xml


    【解决方案1】:

    VTD-XML 是唯一支持增量更新功能的 XML 解析库。它还具有内存效率和高性能。但它需要您将其作为第三方库下载。

    【讨论】:

    • 令人印象深刻 - 这绝对是我要看的东西。谢谢!
    • 确保在您的回答中声明这是您自己的产品,以免它们被视为垃圾邮件。
    【解决方案2】:

    根据我转换一些非常大 (2GB+) xml 文件的经验(不要问!)我发现 xsl 转换是最快的 - 与任何手动循环等相比,所涉及的引擎针对此类任务进行了大量优化试试看。

    【讨论】:

    • 你知道我认为你是对的。虽然 XSLT 可能会让某些人感到害怕。
    • 公平评论,虽然大多数转换都比较简单,你可以随时在 SO 上发布问题!
    • 到底是哪个xsl引擎优化得这么好?
    【解决方案3】:

    您可以使用Linq-to-XML。简而言之,使用XDocument 读取,使用Linq 解析和添加数据。这不会是最快的代码,但可能是最快的编写代码。

    如果您有内存限制,您可能必须手动解析它(即仅将部分加载到内存中,处理该部分,在文件中替换它)

    【讨论】:

      【解决方案4】:

      如果这是一个类似于查找和替换的相当简单的操作,您可以尝试将其视为普通文本文件而不是 xml 文档。我想这可能比所有的 xml 解析都要快。

      【讨论】:

        猜你喜欢
        • 2013-11-11
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 2013-11-27
        相关资源
        最近更新 更多