Call to a member function xpath() on a non-object, perte balises [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
mardi 22 avril 2014
Statut
Membre
Dernière intervention
28 juillet 2016
-
Messages postés
19
Date d'inscription
mardi 22 avril 2014
Statut
Membre
Dernière intervention
28 juillet 2016
-
j'ai actuellement un problème avec un SimpleXMLElement

$contenuXMLDistant = new DOMDocument();
$contenuXMLDistant->load($cheminXML);
$contenuXML=simplexml_load_string($contenuXMLDistant->saveXML());

(j'ai essayé directement un simplexml_load_file mais ça me faisait la même chose)

lorsque je fais un "echo $contenuXML->asXML();" je ne vois afficher que le contenu de mes balises, mais pas mes balises, et quand je fais un xpath sur n'importe quelle balise, cela me retourne l'erreur dans le titre. Autre chose de bizarre : AsXML marche mais quand je regarde si je suis face à un SimpleXMLElement, instanceof me dit que non.

Ici mon xpath est :
$contenuXML->xpath('//Fiche[@id="'.$id.'"]');
(au cas où ce soit un problème sur le chemin j'avais testé sans l'id ou en ne mettant qu'un slash)

avec en xml :

<?xml version="1.0" encoding="UTF-8"?>
<root>
<Fiche id="3.0154">
<Titre><![CDATA[BlaBla]]></Titre>
...
</Fiche>
</root>

je signale qu'il y a plusieurs fois des balises Titre mais qu'elles sont dans d'autres balises.

Je précise, je n'ai aucun droit de modifier mon XML.

Merci d'avance car je patauge actuellement ...

1 réponse

Messages postés
19
Date d'inscription
mardi 22 avril 2014
Statut
Membre
Dernière intervention
28 juillet 2016

Problème apparemment résolus, cela vient du CDATA il faut les paramètres 'SimpleXMLElement',LIBXML_NOCDATA en plus dans les simplexml_load_string et load_file et ça régle le problème