Voici un code XML que je tente de traiter :
Mais php plante à la lecture...Fatal error: Call to undefined method DOMNodeList::getAttribute() in ventepi.php on line 12
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="UTF-8"?> <partner id='52421'> <program id='3079'> <name><![CDATA[Damart ]]></name> <action id="W003161870" SubID="test" ActionDate="2017-03-23 22:50:46" ValidationDate="" ActionStatus="1" ActionType="3" ProgramCommission="10.000%" ActionCommission="1.991" CartAmount="19.91" ProgramComID="856715" PartnerComID="315834" Title="Vente+Nouveau+Client" ProgramCurrency="EUR" Device="desktop" /> </program> </partner>
Voici le code PHP :
Est-ce que vous avez une idée ? Le XML me parait bizarre pour ma part, notamment la section "action" car elle n'est jamais fermé et n'a que des attributs sans contenu véritable et se termine par çà "/>"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $document_xml = new DomDocument(); // Instanciation de la classe DomDocument : création d'un nouvel objet $document_xml->load('http://api.example.com/'); // Chargement du xml affiché ci-dessus $elements = $document_xml->getElementsByTagName('program'); $nb=$elements->length; if ($nb>0) { foreach($elements as $program) { $idprog=$program->getAttribute('id'); $achats=$program->getElementsByTagName('action'); // la ligne 12 qui buggue est ci-dessous donc quand on appelle SubID $argsite=$achats->getAttribute('SubID'); $id_achat=$achats->getAttribute('id'); $idoffer=0; } }
La ligne $idprog=$program->getAttribute('id'); qui récupère le paramètre id de program lui fonctionne il semble, tout çà me paraît assez étrange
Merci par avance
Partager