Maison >développement back-end >tutoriel php >Comment puis-je accéder aux nœuds XML avec des deux-points à l'aide de SimpleXML ?

Comment puis-je accéder aux nœuds XML avec des deux-points à l'aide de SimpleXML ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 00:14:13780parcourir

How Can I Access XML Nodes with Colons Using SimpleXML?

Accès aux nœuds XML avec des deux-points à l'aide de XML simple

Dans les documents XML, les espaces de noms sont utilisés pour distinguer les éléments portant le même nom mais de différents sources. Cela peut devenir un défi lorsque vous essayez de lire du XML à l'aide de l'extension Simple XML.

Considérez le scénario dans lequel vous essayez d'analyser un flux RSS de Flickr et rencontrez des nœuds avec des espaces de noms tels que et . Le comportement par défaut de Simple XML serait incapable d'accéder à ces nœuds.

La solution

Pour surmonter ce défi, Simple XML fournit la méthode children(), qui vous permet de accéder aux éléments XML dans un espace de noms spécifié. Voici un exemple :

$feed = simplexml_load_file('http://www.sitepoint.com/recent.rdf');

foreach ($feed->item as $item) {
    $namespace = 'http://purl.org/dc/elements/1.1/';
    $ns_dc = $item->children($namespace);
    echo $ns_dc->date;
}

Dans cet extrait, la variable $namespace contient l'URI de l'espace de noms. En transmettant cet argument à la méthode children(), vous pouvez accéder aux éléments de cet espace de noms, même si leurs noms contiennent des deux-points.

En utilisant la méthode children() et en spécifiant l'espace de noms approprié, vous pouvez analyser efficacement le XML. des documents contenant des éléments avec des espaces de noms, même si vous choisissez de ne pas vous plonger dans les complexités du DOM.

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