我需要读取可能很大(~300mb)的XML文件,并编辑一些节点。基本上我需要:
在C#中处理此问题的最佳方法是什么?我应该使用哪些XML类来查找和编辑我需要更改的节点?
TIA
答案 0 :(得分:4)
VTD-XML是唯一支持称为增量更新功能的XML解析库。它还具有内存效率和高性能。但它要求您将其作为第三方lib下载。
答案 1 :(得分:3)
根据我转换一些非常大的(2GB +)xml文件的经验(不要问!)我发现xsl变换是最快的 - 所涉及的引擎都针对这些任务进行了大量优化,与任何手动循环等相比你可能尝试。
答案 2 :(得分:3)
您可以使用Linq-to-XML
。简而言之,请使用XDocument
阅读,使用Linq
解析和添加数据。这不是最快的代码,但可能是最快的代码。
如果你有内存限制,你可能需要手动解析它(即只加载部分内存,处理该部分,将其替换为文件)
答案 3 :(得分:2)
如果这是一个类似于查找和替换的相当简单的操作,您可以尝试将其视为普通文本文件而不是xml文档。我想这可能比所有xml解析更快。