C# 处理XML的最佳方法

C# 处理XML的最佳方法,c#,xml,xml-parsing,xml-serialization,linq-to-xml,C#,Xml,Xml Parsing,Xml Serialization,Linq To Xml,有多种读取XML和执行业务逻辑的方法。 业务对象可以多次读取、写入、编辑和获取所需的值。XML文件大小在GB中也非常大,但大多在MB中。 基于性能方面,哪种方法最适合 XMLreader XML序列化 Linq到XML 流阅读器 XML Dom解析 也许没关系 除非你用的是巨大的。。。我的意思是巨大的。。。xml的。。。或者做了很多次这就是瓶颈 你也可以自己对它们进行基准测试 另一个问题是…你需要什么 如果你需要读写,其中一个可能比另一个更相关。如果你只需要阅读,提供正确答案的人相比之下会“慢”

有多种读取XML和执行业务逻辑的方法。 业务对象可以多次读取、写入、编辑和获取所需的值。XML文件大小GB中也非常大,但大多在MB中。 基于性能方面,哪种方法最适合

  • XMLreader
  • XML序列化
  • Linq到XML
  • 流阅读器
  • XML Dom解析

  • 也许没关系

    除非你用的是巨大的。。。我的意思是巨大的。。。xml的。。。或者做了很多次这就是瓶颈

    你也可以自己对它们进行基准测试

    另一个问题是…你需要什么

    如果你需要读写,其中一个可能比另一个更相关。如果你只需要阅读,提供正确答案的人相比之下会“慢”


    这是一个非常广泛的问题,你问。。。没有足够的细节…

    好吧。这取决于您尝试使用它的特定应用程序。
    但从理论上讲,就性能而言,Linq是最好的。

    太模糊了,无法给出真正的答案。相关:。如果文件大小非常大,需要多次处理该xml,性能是否会受到影响?@Jagadesh你说的“多次处理该xml”是什么意思。如果您指的是解析它并读取它以获取一些数据,那么XPath和LINQ都很好。但与XPath相比,LINQ查询更具可读性。您确实做到了,但并没有让它变得更好。。。你说“任何用途,这个或那个,大或小”。。。真的没办法。太宽了。我怀疑这会像我说的那样成为你的瓶颈。除非这是您的程序唯一要做的事情(解析xml)。选择一款你知道如何使用并且易于操作的。如果您在将来遇到问题,请依赖于您第一次正确编写的事实,这样您就可以轻松地改变您与读者的工作方式(将其放在界面后面,这样您就不必拘泥于特定用途)。