XMLReader expand () выдает - выдает предупреждение: поддержка DOM не включена - PullRequest
0 голосов
/ 15 апреля 2010

Я новичок в XMLReader и новичок в PHP. Я пытаюсь выяснить, как использовать XMLReader для разбора файлов XML. В частности, я пытаюсь получить отдельные узлы очень большого XML-файла, чтобы я мог переписать файл меньшего размера только с тем набором узлов, который мне нужен. Итак, XMLReader казался привлекательным для своей предполагаемой скорости с $reader->expand().

Хотя я могу распечатать информацию из тестового XML-файла с помощью XMLReader, я не могу использовать $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 голосов
/ 29 марта 2011

Я обнаружил, что снижение версии PHP (5.2.x -> 5.1.x) на проблемном хостинге решает проблему. Но похоже, что хостер не хочет по-настоящему решить свою проблему.

У меня есть более простой тестовый код, который указывает на проблему:

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