Maison >développement back-end >tutoriel php >Comment puis-je analyser du XML avec des espaces de noms à l'aide de SimpleXML sans déclarer de préfixe ?

Comment puis-je analyser du XML avec des espaces de noms à l'aide de SimpleXML sans déclarer de préfixe ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 01:24:09640parcourir

How Can I Parse XML with Namespaces Using SimpleXML Without Declaring a Prefix?

Analyse XML avec espace de noms à l'aide de SimpleXML

Dans ce scénario, vous disposez d'un document XML avec des espaces de noms XML et vous souhaitez l'analyser à l'aide de SimpleXML . Bien que l'exemple fourni échoue, il est possible d'obtenir le résultat souhaité avec SimpleXML sans déclarer de préfixe d'espace de noms.

Solution :

$xml = new SimpleXMLElement($xmlContent);

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

Explication :

Au lieu d'enregistrer un préfixe d'espace de noms, vous pouvez simplement inclure le préfixe d'espace de noms complet dans le Expressions XPath. Dans ce cas, pour l'espace de noms "event":

  • e:event devient event:event
  • e:sessionKey devient event:sessionKey

Résultat :

Le code parcourra désormais correctement tous les nœuds event:event et affichera le valeurs des nœuds 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