[PHP/XML] DomDocument::getElementsByTagName
Résolu
Daxter
-
Lease Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Lease Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- [PHP/XML] DomDocument::getElementsByTagName
- Xml download - Télécharger - Édition & Programmation
- Easy php - Télécharger - Divers Web & Internet
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
- Expert php pinterest - Télécharger - Langages
6 réponses
Bonjour,
Est-ce que PHP génère un message d'erreur dans le deuxième cas ?
Quid de la lecture/remplissage/encodage de la variable $xml ?
Est-ce que PHP génère un message d'erreur dans le deuxième cas ?
Quid de la lecture/remplissage/encodage de la variable $xml ?
Non aucun message d'erreur.
Je travaille en faite avec un web service. Je lui adresse une requête SOAP en PHP, il me renvoie du XML que je récupéré dans la variable $xml.
Puis je souhaite récupérer la valeur du tag "field" qui a l'attribut "name" égale a "Title".
Pour l'encodage : <?xml version="1.0" encoding="ISO-8859-1"?>.
Je travaille en faite avec un web service. Je lui adresse une requête SOAP en PHP, il me renvoie du XML que je récupéré dans la variable $xml.
Puis je souhaite récupérer la valeur du tag "field" qui a l'attribut "name" égale a "Title".
Pour l'encodage : <?xml version="1.0" encoding="ISO-8859-1"?>.
Bonne idee.
var_dump($xml) vaut : string(14976) " mon xml " .
Mais dans les 2 cas var_dump($liste) affiche : object(DOMNodeList)#4 (0) { }
Connaissant mal cette fonction je ne sais pas si ça nous avance a quelque chose.
var_dump($xml) vaut : string(14976) " mon xml " .
Mais dans les 2 cas var_dump($liste) affiche : object(DOMNodeList)#4 (0) { }
Connaissant mal cette fonction je ne sais pas si ça nous avance a quelque chose.
Tu as bien des noeuds 'field' dans ton $xml ? Il est bien structuré ?
getElementsByTagName renvoit une liste vide s'il ne trouve rien
Si le dump est le même dans le premier cas, étonnant que tu aie un résultat.
Par acquis de conscience, ajoute ceci :
Tu as la main sur les fichiers de log PHP du serveur ? Pour vérifier s'il n'y a pas un message d'erreur.
loadXML ne génére pas d'erreur que quand il a réussi à charger le document xml, donc s'il n'y en a pas du tout, c'est que jusque là c'est bon.
getElementsByTagName renvoit une liste vide s'il ne trouve rien
Si le dump est le même dans le premier cas, étonnant que tu aie un résultat.
Par acquis de conscience, ajoute ceci :
$Dom->loadXML($xml) or die('Can\'t load xml');
Tu as la main sur les fichiers de log PHP du serveur ? Pour vérifier s'il n'y a pas un message d'erreur.
loadXML ne génére pas d'erreur que quand il a réussi à charger le document xml, donc s'il n'y en a pas du tout, c'est que jusque là c'est bon.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens de tester et le XML est bien charge. Je me demande si le fait que le XML soit dans une variable n'altère pas le XML.
Et voici mon XML :
Et voici mon XML :
<?xml version="1.0" encoding="ISO-8859-1"?> <wa-records version="1.0" timestamp="2008-09-22 12:45:35"> <record id="02902081" type="CR" database="prd"> <field sword="S82F7" name="BudgetCategory">X</field> <field sword="S0D90" name="EscalationValue">1</field> <field sword="S82F6" name="BudgetYear">XX</field> <field sword="S809B" name="AssigneeName">XXXXXX</field> <field sword="S809A" name="AssigneeGroup">XXXXX</field> <field sword="S8612" name="AIRChange">N</field> <field sword="S8213" name="FunctionalRank">9999</field> <field sword="S8575" name="DateWhished9">16SEP08</field> <field sword="S8A6A" name="Workflow">NORM</field> <field sword="S84A6" name="RequestorDate">16SEP08</field> <field sword="S0C62" name="LastModifyTime">13:43</field> <field sword="S80A8" name="ImpactsPerformance">X</field> <field sword="S0C61" name="EnteredTime">13:10</field> <field sword="S80A3" name="ImpactsService">X</field> <field sword="S80A2" name="FallbackRequest">N</field> <field sword="S84DB" name="Origin">T</field> <field sword="S8C5C" name="InitialWhishDate">16SEP08</field> <field sword="S81FF" name="ComponentsType">OTH</field> <field sword="S8A9F" name="ImpactOnDRSite">N</field> <field sword="S8162" name="Title">XXXXXX: Test XX For XXX tool</field> <field sword="S8161" name="Status">AS</field> <field sword="S8160" name="Category">X</field> <field sword="S88D1" name="OutputChange">N</field> <field sword="S8A55" name="TemplateID">243</field> <field sword="S8C92" name="SuppImpDCS">N</field> <field sword="S0B2D" name="LoggerPhone">+XXXXXXXXXX</field> <field sword="S8C91" name="SuppImpInv">N</field> <field sword="S88CF" name="ImpactsLFS">N</field> <field sword="S88CC" name="ProdTest">S</field> <field sword="S8C4F" name="ChangeRetailManagement">N</field> <field sword="S8995" name="VistaChange">N</field> <field sword="S8C4E" name="ChangeRetailOLTA">N</field> <field sword="S8994" name="EDIFACTChange">N</field> <field sword="S0C09" name="Type">OTH</field> <field sword="S8C4D" name="ChangeRetailAirline">N</field> <field sword="S8993" name="DateApplicable9">Y</field> <field sword="S8C4C" name="ChangeAlteaDesktop">N</field> <field sword="S8310" name="ImpactsTAMS">N</field> <field sword="S8992" name="DateApplicable8">Y</field> <field sword="S8C4B" name="ChangeWebServices">N</field> <field sword="S8991" name="DateApplicable7">Y</field> <field sword="S8C4A" name="ChangeAPIProxy">N</field> <field sword="S0C49" name="LoggingDate">16SEP08</field> <field sword="S8990" name="DateApplicable6">Y</field> <field sword="S88C8" name="NetImpDep">N</field> <field sword="S830F" name="InputTransChange">N</field> <field sword="S0C42" name="ReviewDate">31OCT08</field> <field sword="S830E" name="ImpactsEUM">N</field> <field sword="S898F" name="DateApplicable5">Y</field> <field sword="S830D" name="ImpactsBCS">N</field> <field sword="S8B26" name="CommunityAccess">C</field> <field sword="S898E" name="DateApplicable4">Y</field> <field sword="S830C" name="CommImpDep">N</field> <field sword="S898D" name="DateApplicable3">Y</field> <field sword="S830B" name="ImpactsDatabase">N</field> <field sword="S898C" name="DateApplicable2">Y</field> <field sword="S898B" name="DateApplicable1">Y</field> <field sword="S0B5E" name="LastModifyUser">DT5030</field> <field sword="S0BB1" name="ClassEntered">IWEXTAPI</field> <field sword="S0B9B" name="LoggerGroup"> XXX </field> <field sword="S8266" name="PriorityCategory">X</field> <field sword="S8C7C" name="SuppImpPricing">N</field> <field sword="S8AD2" name="UATApplicable">Y</field> <field sword="S8C7B" name="SuppImpMarCom">N</field> <field sword="S0B59" name="LoggerName"> XXX </field> <field sword="S8C7A" name="SuppImpCustSup">N</field> <field sword="S0C35" name="LastModifyDate">18SEP08</field> <field sword="S0C34" name="EnteredDate">16SEP08 18SEP08 18SEP08 18SEP08</field> <field sword="S80FB" name="RemoteDev">N</field> <field sword="S0C72" name="LoggingTime">13:10</field> -- il y en a encore ici mais je ne l'afficherai pas car je suis dans un cadre pro -- </record> </wa-records>
Hi Daxter,
I have the same trouble you had in September. It seems that we are using the same webservice for the same customer.
The problem is due to Soap envelop coming with the xml response. It cannot be printed so we don't see the difference but saving in an externel file you could see.
You didn't describe the solution you finally use to succeed. I'm interested.
PS : extension 2214 if needed
Thanks
I have the same trouble you had in September. It seems that we are using the same webservice for the same customer.
The problem is due to Soap envelop coming with the xml response. It cannot be printed so we don't see the difference but saving in an externel file you could see.
You didn't describe the solution you finally use to succeed. I'm interested.
PS : extension 2214 if needed
Thanks
Bon bah ca marche, j'ai change ma méthode pour récupérer le XML dans ma variable et c'est bon (car j'utilise un web services). Merci de ton aide en tout cas ;)