php - 在 PHP 中解析大型 XML

标签 php xml

我需要在 PHP 中解析相当大的 XML(例如 300 MB)。我怎样才能最有效地做到这一点?

特别是,我需要定位特定标签并将其内容提取到一个平面 TXT 文件中,仅此而已。

最佳答案

您可以使用老式 SAX-based parsing 以 block 的形式读取和解析 XML使用 PHP 的方法 xml parser functions .

使用这种方法,您可以解析的文档大小没有真正的限制,因为您一次只需读取和解析一个满缓冲区。解析器将触发事件以指示它已找到标签、数据等。

有一个 simple exampl手册中的 e 显示了如何获取标签的开始和结束。为了您的目的,您可能还想使用 xml_set_character_data_handler这样您也可以了解标签之间的文本。

关于php - 在 PHP 中解析大型 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659369/

相关文章:

xml - Logstash,从多个文档中的 xml 文件拆分事件,保留根标签中的信息

Javascript递归不遍历链

php - home.body 上的 jquery 图像随机

php - 从新行获取数据

java - 在 Java 中将外部 XML 解析为 JSON?

xml - 使用 JAXB 的 bool 属性的 getter

python - 仅检索 XML feed 的一部分

PHP5 的命名空间在实现 Web 服务时导致不正确的 WSDL 类型名称

javascript - 图片上传ajax jquery

php - 经过这么多 div 后中断