Heim  >  Artikel  >  Backend-Entwicklung  >  Wie greife ich mit SimpleXML in PHP auf XML-Elemente in benutzerdefinierten Namespaces zu?

Wie greife ich mit SimpleXML in PHP auf XML-Elemente in benutzerdefinierten Namespaces zu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 21:15:02294Durchsuche

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

XML-Namespaces mit SimpleXML in PHP

Beim Arbeiten mit XML-Dokumenten, die benutzerdefinierte Namespaces in PHP enthalten, erkennt SimpleXML möglicherweise keine Elemente, die diese Namespaces verwenden Standard. Um effektiv auf diese Elemente zuzugreifen, können Sie alternative Methoden verwenden.

Verwendung von Children() mit optionalem Namespace-Präfix:

Ein Ansatz besteht darin, die Methode Children() mit zu verwenden ein optionales Namespace-Präfixargument, das auf „true“ gesetzt ist. Dadurch können Sie auf benutzerdefinierte Namespace-Elemente zugreifen.

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

Dieser Ansatz gibt die Link- und Genre-Elemente erfolgreich aus und bietet Zugriff auf Elemente innerhalb des benutzerdefinierten Moshtix-Namespace.

Das obige ist der detaillierte Inhalt vonWie greife ich mit SimpleXML in PHP auf XML-Elemente in benutzerdefinierten Namespaces zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn