我有一个.xml
文件(原始超过7000行,但对于测试,我一直只使用一行只有3行,以防大小是我的问题,但它不是' t)我想从中提取数据。然而,作为一个自动生成的东西,它并不十分漂亮,观察:使用php从(巨大的)xml文件中提取数据使用php
<ROW MODID="182" RECORDID="561">
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
6 quai St Pierre</DATA>
</COL>
<COL>
<DATA>
</DATA>
</COL>
<COL>
<DATA>
Monsieur</DATA>
</COL>
<COL>
等等,等等...... 我已经设计我需要在Xacobeo
运行的要求,但我似乎无法得到它与PHP一起工作。我试过变化的群众,最后一个是以下几点:
$xmldoc = new DOMDocument();
$xmldoc->load('hellashort.xml');
$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//COL');
foreach($queryResult as $result){
echo $result->textContent;
}
我想这个代码更美观的文件和它的作品,所以我怎么能得到它与此文件的工作? 所有建议表示赞赏。 感谢
UPDATE 我检查了短文件的错误,并意识到我没有关闭的元素,让一个作品,但是长文件包含根据网上检查没有错误,但仍然无法正常工作。
更新2 长文件现在工作的要求/
,但只要没有返回,因为他们变得更加复杂,即://ROW/COL[position()=39]/DATA
这Xacobeo返回正确的结果。 .xml
文件可能太大而无法通过这种方式处理? (此文件是大约11.2莫)
更新3 - 固定 所以我改变了我的接洽,并最终做这种方式:
$file=file_get_contents("go.xml");
$xml=simplexml_load_string($file);
$elements=$xml->path('//ROW/COL[position()=1]/DATA');
我明白为什么它被称为SimpleXML的,感谢所有的虽然帮助
我会建议使用任何在线工具验证XML,并分享您正在收到什么错误,或发生了什么。 – Netham
没有任何错误出现(无论是在屏幕上还是在日志中),并且没有出现任何结果......我在函数前后回应了几个随机短语,以确保我没有得到死亡的白色屏幕,并且他们都显示很好。 –