我正在尝试将DMOZ内容/结构XML文件解析为MySQL,但是执行此操作的所有现有脚本都很老,并且运行不正常.如何在PHP中打开一个大的(+ 1GB)XML文件进行解析?
我正在努力阅读php中的gzip压缩文件.
我成功地使用XMLReader()读取了正常的xml文件,如下所示:
$xml = new XMLReader();
$xml->open($linkToXmlFile);
Run Code Online (Sandbox Code Playgroud)
但是,当gml文件被gzip压缩时,这不起作用.如何解压缩文件并使用XMLReader读取它?
我有一个大文件,100,000行.我可以读取每一行并处理它,或者我可以将这些行存储在一个数组中然后处理它们.我更喜欢使用数组来获得额外的功能,但我真的很关心与在数组中存储多行相关的内存使用情况,以及它是否值得.
我一直在尝试使用PHP和XMLReader解析一个非常大的XML文件,但似乎无法得到我正在寻找的结果.基本上,我正在搜索大量的信息,如果a包含某个zipcode,我想返回那一点XML,或继续搜索,直到找到该zipcode.从本质上讲,我将把这个大文件分解成只有几个小块,所以不必查看数千或数百万组信息,它可能是10或20.
这里有一些我喜欢的XML
//search through xml
<lineups country="USA">
//cache TX02217 as a variable
<headend headendId="TX02217">
//cache Grande Gables at The Terrace as a variable
<name>Grande Gables at The Terrace</name>
//cache Grande Communications as a variable
<mso msoId="17541">Grande Communications</mso>
<marketIds>
<marketId type="DMA">635</marketId>
</marketIds>
//check to see if any of the postal codes are equal to $pc variable that will be set in the php
<postalCodes>
<postalCode>11111</postalCode>
<postalCode>22222</postalCode>
<postalCode>33333</postalCode>
<postalCode>78746</postalCode>
</postalCodes>
//cache Austin to a variable
<location>Austin</location>
<lineup>
//cache all prgSvcID's to an …Run Code Online (Sandbox Code Playgroud)