J'essaye actuellement d'analyser un document avec DOMDocument, et j'ai de sérieux problèmes. J'ai créé un script qui tourne bien sur php 5.2.9, en extrayant le contenu en utilisant DOMNode :: nodeValue. Le même script n'obtient aucun contenu sur php 5.3.3 - même s'il navigue correctement vers les nœuds appropriés pour extraire le contenu.Qu'est-ce qui causerait que DOMNode :: nodeValue soit vide?
Fondamentalement, le code utilisé ressemble à ceci:
$dom = new DOMDocument();
$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXpath($dom);
$nodelist = $xpath->query($query);
$value = $nodelist->item(0)->nodeValue;
J'ai vérifié pour vous assurer que le point (0) est en fait un nœud - il est là et même du bon type, mais nodeValue est vide.
Le script fonctionne sur certains documents mais pas sur d'autres (sur 5.3.3) - sur 5.2.9 il fonctionne sur tous les documents, renvoyant le nodeValue approprié.
J'ai trouvé des problèmes comme celui-ci en travaillant avec différentes versions de PHP qui regroupent différentes versions de libxml, donc ne jetez pas ce problème. Cependant, un exemple de document reproduisant le problème peut aider à diagnostiquer. –