Maison >développement back-end >tutoriel php >Comment accéder aux éléments dans un espace de noms personnalisé à l'aide de SimpleXML ?

Comment accéder aux éléments dans un espace de noms personnalisé à l'aide de SimpleXML ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 08:31:011093parcourir

How to Access Elements in a Custom Namespace Using SimpleXML?

Gestion des espaces de noms personnalisés dans SimpleXML

Question :

Dans un document XML avec un espace de noms, l'analyse SimpleXML ne parvient pas à exposer les éléments de cet espace de noms. Comment cela peut-il être résolu ?

Réponse :

Pour accéder aux éléments d'espace de noms personnalisés à l'aide de SimpleXML, il est nécessaire de s'inscrire et d'utiliser le préfixe d'espace de noms. Ceci est généralement réalisé en utilisant la fonction children() avec le préfixe d'espace de noms comme premier argument et true comme deuxième argument pour activer la correspondance récursive :

<code class="php">$rss = simplexml_load_string(
    '<?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
        <channel>
            <link>qweqwe</link>
            <moshtix:genre>asdasd</moshtix:genre>
        </channel>
    </rss>'
);

foreach ($rss->channel as $channel)
{
    echo 'link: ', $channel->link, "\n";
    echo 'genre: ', $channel->children('moshtix', true)->genre, "\n";
}</code>

Cela affichera :

link:  qweqwe
genre: asdasd

En enregistrant le préfixe de l'espace de noms, il devient possible d'accéder aux éléments d'espace de noms personnalisés et de récupérer leurs valeurs à l'aide de children().

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