[PHP/XML] DomDocument::getElementsByTagName
Résolu/Fermé
Daxter
-
22 sept. 2008 à 15:19
Lease Messages postés 1 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009 - 26 janv. 2009 à 16:01
Lease Messages postés 1 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 26 janvier 2009 - 26 janv. 2009 à 16:01
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
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
22 sept. 2008 à 15:54
22 sept. 2008 à 15:54
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"?>.
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
22 sept. 2008 à 16:03
22 sept. 2008 à 16:03
Retire le check sur loadXML, et regarde s'il y'a un message d'erreur.
Non, ca change rien.
Bizarre cette affaire.
Bizarre cette affaire.
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
22 sept. 2008 à 16:12
22 sept. 2008 à 16:12
Fais un débug de chaque step pour voir où ca coince.
var_dump($xml);
var_dump($liste);
var_dump($xml);
var_dump($liste);
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.
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
22 sept. 2008 à 16:42
22 sept. 2008 à 16:42
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>
Lease
Messages postés
1
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
26 janvier 2009
26 janv. 2009 à 16:01
26 janv. 2009 à 16:01
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 ;)
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
22 sept. 2008 à 17:30
22 sept. 2008 à 17:30
C'est ce que j'allais proposer ;)
Après test, ca fonctionne en copiant la partie que tu as donné dans une variable et en passant par un fichier xml.
Ca ne pouvait donc venir que de la récupération.
N'oublie pas de changer le status du message en 'Résolu'.
Après test, ca fonctionne en copiant la partie que tu as donné dans une variable et en passant par un fichier xml.
Ca ne pouvait donc venir que de la récupération.
N'oublie pas de changer le status du message en 'Résolu'.