J'ai ceci en tant que xml :
<root xmlns:event="http://www.webex.com/schemas/2002/06/service/event">
<event:event>
<event:sessionKey></event:sessionKey>
<event:sessionName>Learn QB in Minutes</event:sessionName>
<event:sessionType>9</event:sessionType>
<event:hostWebExID></event:hostWebExID>
<event:startDate>02/12/2009</event:startDate>
<event:endDate>02/12/2009</event:endDate>
<event:timeZoneID>11</event:timeZoneID>
<event:duration>30</event:duration>
<event:description></event:description>
<event:status>NOT_INPROGRESS</event:status>
<event:panelists></event:panelists>
<event:listStatus>PUBLIC</event:listStatus>
</event:event>
...
</root>
Comment puis-je parcourir en boucle tous les nœuds event:event et afficher, par exemple, tous les event:SessionKey ?
Cela ne fonctionne pas :
$xml = new SimpleXMLElement($r);
$xml->registerXPathNamespace('e', 'http://www.webex.com/schemas/2002/06/service/event');
foreach($xml->xpath('//e:event') as $event) {
var_export($event->xpath('//e:sessionKey'));
}
3 votes
Cela pourrait aider lornajane.net/posts/2010/
1 votes
ne fonctionne pas n'est et n'a jamais été une description correcte d'une erreur. PHP vous donne l'erreur suivante : "Avertissement : SimpleXMLElement::xpath() : Undefined namespace prefix" . Si vous développez des logiciels, vous devriez écouter les avertissements de PHP. Voir aussi : Comment obtenir des messages d'erreur utiles en PHP ?
0 votes
Voir aussi Référence - comment gérer les espaces de noms (balises et attributs avec deux points dans) dans SimpleXML ?