【问题标题】:Read/write XML with C#/.NET使用 C#/.NET 读/写 XML
【发布时间】:2009-01-14 18:23:06
【问题描述】:

使用 C#/.NET 读取/写入 XML 的最佳功能、实践和/或技术是什么?

【问题讨论】:

标签: c# .net xml


【解决方案1】:

如果您正在使用 .NET 3.5,LINQ to XML 无疑是与 XML 交互的一种非常好的方式。

MSDN Link

【讨论】:

    【解决方案2】:

    有读取XML的类:

    • XmlDocument 速度慢且占用大量内存:它解析 XML 并将其加载到内存中的 DOM 中,如果您想对其进行编辑,这很好。
    • XmlReader 占用的内存较少:它从头到尾扫描 XML,无需一次将所有内容保存在 RAM 中。

    同样,对于写作,您可以构造一个XmlDocument 然后保存它,或者使用XmlWriter


    在我写完上述内容后,现在有一组新的 API 更易于使用:例如 XDocumentXElement 类。

    【讨论】:

    • XPathNavigator 等其他东西呢?
    • 我没有用过其他的东西,比如 XPathNavigator;如果您想包含/提及它,请随时编辑我的答案。
    【解决方案3】:

    到目前为止,我发现在 C# 中处理 XML 的最简单方法是使用 XML 序列化工具。例如:http://www.dotnetjohn.com/articles.aspx?articleid=173

    基本上,您可以定义与您的 XML 文件匹配的 C# 类(事实上,如果您有 XML 定义文件,您可以为您创建它们),然后您只需直接从 XML 文件初始化这些类的实例。将它们作为实例后,您可以随意操作它们并将它们重新写入 XML 文件。

    【讨论】:

    • 请注意访问该链接的任何人,截至 2018 年 4 月 16 日,该链接目前有一个重定向木马位置
    【解决方案4】:

    在性能关键的应用程序中,XmlReader/XmlWriter 是一个不错的选择(请参阅here),因为 Linq to XML 和 XmlDocument 提供了简单性。

    【讨论】:

      【解决方案5】:

      我发现 MvpXml 项目在过去考虑性能的场景中非常有用。他们的项目页面中有大量关于良好实践的知识:http://www.codeplex.com/MVPXML

      【讨论】:

        猜你喜欢
        • 2013-10-01
        • 1970-01-01
        • 2011-08-01
        • 2014-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-05
        相关资源
        最近更新 更多