Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich mit SimpleXML auf Elemente in einem benutzerdefinierten Namespace zu?

Wie greife ich mit SimpleXML auf Elemente in einem benutzerdefinierten Namespace zu?

Patricia Arquette
Freigeben: 2024-11-08 08:31:01
Original
1021 Leute haben es durchsucht

How to Access Elements in a Custom Namespace Using SimpleXML?

Umgang mit benutzerdefinierten Namespaces in SimpleXML

Frage:

In einem XML-Dokument mit einem benutzerdefinierten Wenn Sie einen Namespace verwenden, können beim Parsen von SimpleXML keine Elemente aus diesem Namespace verfügbar gemacht werden. Wie kann das gelöst werden?

Antwort:

Um mit SimpleXML auf benutzerdefinierte Namespace-Elemente zuzugreifen, ist es notwendig, sich zu registrieren und das Namespace-Präfix zu verwenden. Dies wird normalerweise mithilfe der Funktion „children()“ mit dem Namespace-Präfix als erstem Argument und „true“ als zweitem Argument erreicht, um den rekursiven Abgleich zu ermöglichen:

<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>
Nach dem Login kopieren

Dies wird ausgegeben:

link:  qweqwe
genre: asdasd
Nach dem Login kopieren

Durch die Registrierung des Namespace-Präfixes wird es möglich, auf benutzerdefinierte Namespace-Elemente zuzugreifen und deren Werte mithilfe von children() abzurufen.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage