Freitag, 27. September 2013, 22:00 Uhr

Mit PHPs SimpleXML auf XML-Namespaces zugreifen

Das klappt tatsächlich, auch wenn der Code damit nicht mehr so simpel wird.

XML

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
<channel>
<title>foursquare checkin history for Mario A.</title>
<description>foursquare checkin history for Mario A.</description>
<link>https://foursquare.com/emeidi</link>
<atom:link type="application/rss+xml" rel="self" href="https://feeds.foursquare.com/history/.rss" />
<item>
<title>Migros</title>
<description>@ Migros</description>
<link>https://foursquare.com/emeidi/checkin/</link>
<pubDate>Fri, 27 Sep 13 17:22:13 +0000</pubDate>
<guid isPermaLink="false"></guid>
<georss:point>46.9490403456011 7.440057740911321</georss:point>
</item>
<item>
<title>Bahnhof Bern</title>
<description>@ Bahnhof Bern</description>
<link>https://foursquare.com/emeidi/checkin/</link>
<pubDate>Fri, 27 Sep 13 17:21:57 +0000</pubDate>
<guid isPermaLink="false"></guid>
<georss:point>46.94901360281286 7.440102388543716</georss:point>
</item>
<item>
...

PHP

...
foreach($xml->channel->item as $item) {
    $coords = $item->children('http://www.georss.org/georss')->point;
}
...

Via: SimpleXML and namespaces

Tags: , ,
Labels: Programmierung

Kommentar erfassen