我正在尝试用PHP解析一个非常大的XML表,但我对它很新.XML表包含数千条记录.
以下是工作表中使用的结构示例:
<familyList>
<family>
<familyID>1234</familyID>
<familyDescription>The Jonathans</familyDescription>
<childrenList>
<child>Suzan</child>
<child>Fred</child>
<child>Harry</child>
</childrenList>
</family>
<family>
<familyID>1235</familyID>
<familyDescription>The Gregories</familyDescription>
<childrenList>
<child>Anthony</child>
<child>Lindsay</child>
</childrenList>
</family>
</familyList>
Run Code Online (Sandbox Code Playgroud)
由于我对使用PHP的XML解析相当陌生,我想知道将这个嵌套的XML表解析成数组的最佳方法是什么.我需要将XML转换为数组,以便之后我可以将数据插入MySQL数据库.
你能不能给我一个正确的方向,因为我没有成功解决问题的解决方案?
谢谢!
解析大型XML文件时,应使用XML Pull Parser(XPP)来执行此操作.PHP有一个pull解析器的实现,它叫做XMLReader.将XML存储为大文件的数组也会占用大量内存.
我建议您使用XMLReader并在解析数据时,可以将其插入数据库而无需等待文件结束.它不会使用大量内存,而且会更快.
本教程可以帮助您理解如何在PHP中使用XMLReader.
已经指出,如果注释,XML Parser可以是解析大型XML文件的其他解决方案.