如何在PHP(或C#)中修改非常大的XML文件中的元素

时间:2014-02-03 19:42:42

标签: php xml

我收到非常大的xml文件,需要进行点编辑(在特定节点添加元素)。文件大小使得使用DOMDocument或SimpleXML不是一个选项。我正在使用XMLReader来解析文件,但似乎我唯一的选择是使用XMLWriter完全重写文件。我很好奇是否有更好的方法?也许某些东西可以让我在XMLReader的光标位置编辑文件?

理想情况下,我会使用PHP动态执行此操作,但如果有一个工具可以使这项工作更有效,我可以使用C#进行一次性工作以启动并运行。

1 个答案:

答案 0 :(得分:1)

如果可以使用XSLT表达编辑,我建议这样做,因为XSLT解析器优化了查询,并且在大多数情况下对文件执行单次运行...

XSLT是一种语言(用XML表示),用于描述如何将XML文档重写为另一种XML文档。大多数XSLT解析器都经过高度优化(在时间,内存和磁盘使用方面)。