我需要在PHP中解析相当大的XML(如300 MB).我怎样才能最有效地做到这一点?
特别是,我需要找到特定的标签,并在平坦的TXT文件中提取它们的内容,仅此而已.
您可以使用PHP的xml解析器函数,使用基于SAX的旧式解析方法读取和解析XML .
使用这种方法,您可以解析的文档大小没有实际限制,因为您只需一次读取并解析缓冲区.解析器将触发事件以指示它已找到标签,数据等.
手册中有一个简单的例子,它显示了如何获取标签的开始和结束.出于您的目的,您可能还需要使用xml_set_character_data_handler,以便您也可以在标签之间查看文本.