【发布时间】:2011-02-15 16:30:04
【问题描述】:
我有一个大小约为 200MB 的 XML 文件,我希望逐行提取选定的信息。
我用 perl 编写了一个脚本,使用模块 XML::LibXML 来解析文件内容,然后循环内容并逐行提取信息。这是无效的,因为它将整个文件读入内存,但我喜欢 LibXML,因为我可以使用所需信息的 XPath 位置。
我能否获得有关如何使我的代码更有效的建议。
通过搜索,我了解到 XML::SAX 和 XML::LibXML::SAX,但我找不到解释其用法的文档,而且它们似乎不包含任何类型的 XPath 寻址结构。
【问题讨论】:
-
你可以试试 XML::Twig (search.cpan.org/perldoc?XML%3A%3ATwig)