我是XML的新手,也是PHP的新手。我正在试图弄清楚如何使用XMLReader来解析XML文件。特别是,我试图抓取一个非常大的XML文件的特定节点,这样我就可以用我需要的节点子集重写一个较小的文件。因此,XMLReader似乎对$reader->expand()
的假定速度很有吸引力。
虽然我能够使用XMLReader打印测试xml文件中的信息,但我无法使用$reader->expand()
。它给了我一个“警告:未启用DOM支持”消息。但是,在检查phpinfo()时,我知道它是通过我的托管服务启用的。我还检查了XML文件以确保它是有效的。这是我用来试图让它工作的测试代码。
$reader = new XMLReader();
$reader->open('http://www.shinyorb.com/static/test.xml');
while ($reader->read()) {
if ($reader->expand()) {
echo "worked <BR>";
}
else {
echo "bad <BR>";
}
}
$reader->close();
任何想法,线索,建议都会非常感激!
答案 0 :(得分:0)
我发现在问题托管上降低PHP版本(5.2.x - > 5.1.x)可以解决问题。但这看起来像托管人不想真正解决他的问题。
我有更简单的测试代码,表明问题:
<?php
$xml = new XMLReader();
$xml->XML('<root/>');
$xml->read();
$obj = $xml->expand();