0

我是 XMLReader 的新手和 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();

任何想法,线索,建议将不胜感激!

4

1 回答 1

0

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

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

<?php
$xml = new XMLReader();
$xml->XML('<root/>');
$xml->read();
$obj = $xml->expand();
于 2011-03-29T15:14:15.517 回答