Ich vermute, dass ich etwas wirklich Grundlegendes und Offensichtliches übersehe, also entschuldige dich im Voraus!
Ich hatte benutzt simple_xml_load
mit einer XML-Datei zu arbeiten, aber der Hosting-Provider meines Kunden blockiert das Laden externer Dateien über diese Methode. Ich versuche jetzt, meine Arbeit mit dem neu aufzubauen wp_remote_get
Funktion in WordPress integriert.
Hier ist mein Code (Hinweis: Der Schlüssel und die Shelter-ID sind in diesem Beispiel generisch):
$url = "http://api.petfinder.com/shelter.getPets?key=1234&count=20&id=abcd&status=A&output=full";
$pf_xml = wp_remote_get( $url );
$xml = wp_remote_retrieve_body($pf_xml);
Damit kann ich ein Array aller Daten abrufen, die ich benötige, aber ich kann nicht herausfinden, wie ich auf bestimmte Daten abzielen kann. Hier ist die Ausgabe von print_r($xml)
:
<petfinder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://api.petfinder.com/schemas/0.9/petfinder.xsd">
<header>
<version>0.1</version>
<timestamp>2013-03-09T15:03:46Z</timestamp>
<status>
<code>100</code>
<message/>
</status>
</header>
<lastOffset>5</lastOffset>
<pets>
<pet>
<id>13019537</id>
<name>Jordy</name>
<animal>Dog</animal>
</pet>
<pet>
<id>13019888</id>
<name>Tom</name>
<animal>Dog</animal>
</pet>
</pets>
</petfinder>
Wenn ich wollte echo
den Statuscode, zum Beispiel, wie würde ich das machen? Mit simplexml würde ich schreiben $xml->header->status->code
. Ich kann anscheinend nicht herausfinden, was die Codestruktur ist, um etwas Ähnliches mit Arrays zu tun wp_remote_get
.
Danke im Voraus!