Maison  >  Article  >  développement back-end  >  Comment accéder aux éléments XML dans des espaces de noms personnalisés à l'aide de SimpleXML en PHP ?

Comment accéder aux éléments XML dans des espaces de noms personnalisés à l'aide de SimpleXML en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 21:15:02353parcourir

How do I access XML elements within custom namespaces using SimpleXML in PHP?

Espaces de noms XML avec SimpleXML en PHP

Lorsque vous travaillez avec des documents XML contenant des espaces de noms personnalisés en PHP, SimpleXML peut ne pas reconnaître les éléments utilisant ces espaces de noms en défaut. Pour accéder efficacement à ces éléments, vous pouvez utiliser des méthodes alternatives.

Utilisation de children() avec un préfixe d'espace de noms facultatif :

Une approche consiste à utiliser la méthode children() avec un argument de préfixe d'espace de noms facultatif défini sur true. Cela vous permet d'accéder aux éléments d'espace de noms personnalisés.

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

Cette approche permettra de générer avec succès les éléments de lien et de genre, donnant accès aux éléments de l'espace de noms moshtix personnalisé.

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