Heim > Artikel > Backend-Entwicklung > So konvertieren Sie PHP-Schnittstellen-XML in ein Array
Mit der Entwicklung des Internets werden verschiedene Schnittstellen immer wichtiger. Ob Datenaustausch zwischen Unternehmen oder Datenintegration, Schnittstellen müssen aufgerufen werden. Beim Aufruf der Schnittstelle in PHP ist es häufig erforderlich, das von der Schnittstelle zurückgegebene XML in ein Array zu konvertieren. Daher wird in diesem Artikel erklärt, wie man eine Schnittstelle in PHP aufruft und XML in ein Array konvertiert.
1. Methode zum Aufrufen der Schnittstelle
In PHP ist die Verwendung der CURL-Bibliothek die häufigste Methode zum Aufrufen der Schnittstelle. Verwenden Sie die CURL-Bibliothek, um HTTP-Anfragen, einschließlich GET, POST, PUT, DELETE und andere Anfragemethoden, einfach auszuführen. Angenommen, wir müssen eine Schnittstelle aufrufen, die Daten im XML-Format zurückgibt. Der Aufrufvorgang ist wie folgt:
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://example.com/api");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
$ post_data = array (
'key' => 'value', 'key2' => 'value2'
);
curl_setopt ($ curl, curlopt_postfields, $ post_data);
Im obigen Code sind $response die von der Schnittstelle zurückgegebenen XML-Formatdaten, die dann in ein Array konvertiert werden müssen.
$xml = simplexml_load_string($response);
print_r($xml);$json = json_encode($xml);
$array = json_decode($json, true);
Wenn bei der oben genannten Methode das von der Schnittstelle zurückgegebene XML-Format nicht standardisiert ist oder Probleme aufweist, schlägt die Konvertierung der Funktion simplexml_load_string fehl. Um diese Situation zu vermeiden, können Sie die in PHP integrierte DomDocument-Bibliothek verwenden, um Daten im XML-Format zu analysieren. Die Verwendung ist wie folgt:
$doc = new DOMDocument();
XML-Daten laden//如果元素没有子元素,就获取元素值 if (!$node->hasChildNodes()) { $result[$node->nodeName] = $node->nodeValue; } else { //否则,递归获取子元素 foreach ($node->childNodes as $childNode) { if ($childNode->nodeType != XML_TEXT_NODE) { $result[$node->nodeName][] = array( $childNode->nodeName => $childNode->nodeValue ); } } }}
4. Zusammenfassung
In diesem Artikel wird die Methode zum Aufrufen der Schnittstelle in PHP und zum Konvertieren von Daten im XML-Format in ein Array vorgestellt. Mit der CURL-Bibliothek können Sie ganz einfach HTTP-Anfragen stellen; mit der SimpleXML- oder DomDocument-Bibliothek können Sie Daten im XML-Format in ein Array oder Objekt konvertieren. Durch die Verwendung der DomDocument-Bibliothek können Konvertierungsfehler aufgrund von XML-Formatproblemen besser vermieden werden. Wir hoffen, dass dieser Artikel etwas Hilfe bei den Problemen bieten kann, auf die PHP-Entwickler während des Schnittstellenaufrufprozesses stoßen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie PHP-Schnittstellen-XML in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!