Maison >développement back-end >tutoriel php >Comment analyser du XML avec des espaces de noms à l'aide de XPath de SimpleXML ?

Comment analyser du XML avec des espaces de noms à l'aide de XPath de SimpleXML ?

DDD
DDDoriginal
2024-12-18 16:12:10663parcourir

How to Parse XML with Namespaces Using SimpleXML's XPath?

Analyse XML avec des espaces de noms à l'aide de SimpleXML

Les espaces de noms XML sont couramment utilisés pour définir différentes divisions dans les documents XML. Pour analyser du XML avec des espaces de noms à l'aide de SimpleXML, envisagez l'approche suivante :

Document XML avec espace de noms :

Étant donné un document XML avec un espace de noms :

<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>

Approche d'analyse simplifiée :

Pour parcourir les nœuds event:event sans enregistrer l'espace de noms, vous pouvez utiliser le préfixe complet de l'espace de noms dans les requêtes XPath :

$xml = new SimpleXMLElement($xmlString);

foreach ($xml->xpath('//event:event') as $event) {
    var_export($event->xpath('event:sessionKey'));
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn