XMLReader expand()问题 - 产生警告:未启用DOM支持

时间:2010-04-15 17:33:42

标签: php xmlreader

我是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();

任何想法,线索,建议都会非常感激!

1 个答案:

答案 0 :(得分:0)

我发现在问题托管上降低PHP版本(5.2.x - > 5.1.x)可以解决问题。但这看起来像托管人不想真正解决他的问题。

我有更简单的测试代码,表明问题:

<?php
$xml = new XMLReader();
$xml->XML('<root/>');
$xml->read();
$obj = $xml->expand();