Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in einfachem XML einfach auf Elemente mit Namespace-Präfix zugreifen?

Wie kann ich in einfachem XML einfach auf Elemente mit Namespace-Präfix zugreifen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-08 01:35:12793Durchsuche

How Can I Easily Access Namespace-Prefixed Elements in Simple XML?

Navigieren durch Knoten mit Namensraumpräfix in einfachem XML

Um auf Elemente zuzugreifen, die einen Namensraum mit Präfix wie media:thumbnail oder flickr:profile in einem enthalten Als RSS-Feed bietet Simple XML eine Methode, die den Bedarf an komplexem DOM umgeht Manipulation.

Verwenden von Children() für den Zugriff auf Namespace-Elemente

Die Methode Children() verwendet einen Namespace-URI als Argument und gibt einen Iterator zurück, der Objekte liefert, die die Elemente darstellen innerhalb des angegebenen Namensraums. Beispiel:

$feed = simplexml_load_file('http://www.sitepoint.com/recent.rdf');
foreach ($feed->item as $item) {
    $ns_dc = $item->children('http://purl.org/dc/elements/1.1/');
    echo $ns_dc->date;
}

In diesem Snippet wird $ns_dc zu einem Iterator über die untergeordneten Elemente jedes Elements, die zum Namespace http://purl.org/dc/elements/1.1/ gehören. Dadurch können Sie auf das Datumselement im DC-Namespace zugreifen.

Anwenden dieser Lösung auf Ihren Flickr-Feed

Zum Abrufen der Miniaturansicht für jedes Element in Ihrem Flickr-RSS-Feed , können Sie den folgenden Code verwenden:

$feed = simplexml_load_file('http://example.com/flickr.rss');
foreach ($feed->item as $item) {
    $ns_media = $item->children('http://search.yahoo.com/mrss/');
    echo $ns_media->thumbnail->attributes()->url;
}

Dadurch wird die URL der Miniaturansicht für jedes Element im ausgegeben füttern.

Das obige ist der detaillierte Inhalt vonWie kann ich in einfachem XML einfach auf Elemente mit Namespace-Präfix zugreifen?. 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