我需要在 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/