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

Mary-Kate Olsen
Freigeben: 2024-11-06 03:47:02
Original
541 Leute haben es durchsucht

How to Access Elements Within Custom Namespaces Using PHP's SimpleXML?

Namespace-Fallstricke mit SimpleXML von PHP

Beim Parsen von XML-Dokumenten mit SimpleXML von PHP können benutzerdefinierte Namespaces eine Herausforderung darstellen. Betrachten Sie das folgende XML mit einem benutzerdefinierten Namespace:

<code class="xml"><?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
  <channel>
   <item>
    <link>qweqwe</link>
    <moshtix:genre>asdasd</moshtix:genre>
...</code>
Nach dem Login kopieren

Um auf Elemente innerhalb solcher Namespaces zuzugreifen, ist das Standardverhalten von SimpleXML nicht einfach. So meistern Sie diese Herausforderung:

Lösung: Verwenden Sie „children()“ mit Namespace-Argument

Mit der Methode „children()“ von SimpleXML können Sie Elemente basierend auf Namespaces filtern. Übergeben Sie das Namespace-Präfix und true als zweites Argument, um auch die Namespace-Informationen abzurufen:

<code class="php">$rss = simplexml_load_string(...);

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

In diesem Beispiel wäre die Ausgabe:

link: qweqwe
genre: asdasd
Nach dem Login kopieren

Mit diesem Ansatz Sie können beim Parsen von XML-Dokumenten mit SimpleXML von PHP effektiv auf Elemente in benutzerdefinierten Namespaces zugreifen und diese nutzen.

Das obige ist der detaillierte Inhalt vonWie greife ich mit SimpleXML von PHP auf Elemente in benutzerdefinierten Namespaces 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!