В настоящее время я пытаюсь разобрать документ с DOMDocument, и у меня возникают серьезные проблемы. Я создал скрипт, который отлично работает на php 5.2.9, вырывая содержимое с помощью DOMNode :: nodeValue. Тот же скрипт не может получить какой-либо контент на php 5.3.3 - даже если он правильно перемещается к соответствующим узлам для извлечения содержимого.Что может привести к тому, что DOMNode :: nodeValue будет пустым?
В принципе, используемый код выглядит так:
$dom = new DOMDocument();
$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXpath($dom);
$nodelist = $xpath->query($query);
$value = $nodelist->item(0)->nodeValue;
Я проверил, чтобы убедиться, что пункт (0), на самом деле узел - это там, и даже правильного типа, но nodeValue является пустой.
Сценарий работает с некоторыми документами, но не с другими (по 5.3.3) - в 5.2.9 он работает со всеми документами, возвращая правильный nodeValue.
Я нашел такие проблемы, как работа с разными версиями PHP, которые связывают разные версии libxml, поэтому не отбрасывайте, это просто ошибка. Однако образец документа, который воспроизводит проблему, может помочь диагностировать. –