In der Webentwicklung ist das Abrufen und Parsen von XML-Daten ein sehr häufiger Vorgang. Dieser Artikel konzentriert sich auf die Verwendung eines PHP-Crawlers zum Abrufen und Analysieren von XML-Daten.
1. XML-Daten abrufen
cURL-Bibliothek ist eine sehr häufig verwendete PHP-Bibliothek zum Abrufen von Daten. Sie können den folgenden Code verwenden, um XML-Daten von einer Website abzurufen:
$url = 'http://example.com/example.xml'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xml = curl_exec($ch); curl_close($ch);
Hier verwenden wir curl_init(), um ein cURL-Objekt zu initialisieren und den Parameter CURLOPT_URL auf die Ziel-URL zu setzen. Wenn Sie den Parameter CURLOPT_RETURNTRANSFER auf 1 setzen, gibt cURL eine Zeichenfolge zurück, anstatt den Inhalt direkt auszugeben.
Während die cURL-Bibliothek XML-Daten abruft, kann die file_get_contents()-Methode auch XML-Daten abrufen. Wir können dieses Ziel erreichen, indem wir dem folgenden Beispiel folgen:
$url = 'http://example.com/example.xml'; $xml = file_get_contents($url);
2. XML-Daten analysieren
PHP bietet eine Vielzahl von Methoden zum Parsen von XML-Daten.
SimpleXML ist ein sehr einfach zu verwendender XML-Parser in PHP. Wir können SimpleXML wie folgt verwenden:
$xml = simplexml_load_string($xml);
Hier haben wir die Methode simplexml_load_string() verwendet, um den XML-String zu analysieren und in ein Objekt zu konvertieren.
Angenommen, wir haben das folgende XML-Dokument:
<?xml version="1.0" encoding="UTF-8" ?> <bookstore> <book> <title>PHP 7 Programming Blueprints</title> <author>Vikram Vaswani</author> <price>28.99</price> </book> <book> <title>Mastering PHP 7</title> <author>Chad Russell</author> <price>39.99</price> </book> </bookstore>
Wir können den folgenden Code verwenden, um auf diese XML-Daten zuzugreifen und sie auszugeben:
foreach ($xml->book as $book) { echo "Title: " . $book->title . "<br>"; echo "Author: " . $book->author . "<br>"; echo "Price: " . $book->price . "<br>"; }
Die Ausgabe lautet wie folgt:
Title: PHP 7 Programming Blueprints Author: Vikram Vaswani Price: 28.99 Title: Mastering PHP 7 Author: Chad Russell Price: 39.99
DOMDocument ist ein anderes Wird häufig im PHP-XML-Parser verwendet. Wir können DOMDocument wie folgt verwenden:
$doc = new DOMDocument(); $doc->loadXML($xml); $books = $doc->getElementsByTagName("book"); foreach ($books as $book) { $titles = $book->getElementsByTagName("title"); $title = $titles->item(0)->nodeValue; $authors = $book->getElementsByTagName("author"); $author = $authors->item(0)->nodeValue; $prices = $book->getElementsByTagName("price"); $price = $prices->item(0)->nodeValue; echo "Title: " . $title . "<br>"; echo "Author: " . $author . "<br>"; echo "Price: " . $price . "<br>"; }
Hier verwenden wir die DOMDocument-Klasse, um das XML-Dokument zu analysieren, und verwenden dann die Methode getElementsByTagName(), um bestimmte Elemente abzurufen. Die endgültige Ausgabe ist dieselbe wie beim SimpleXML-Parser.
3. Zusammenfassung
In diesem Artikel haben wir gelernt, wie man den PHP-Crawler zum Abrufen und Parsen von XML-Daten verwendet, einschließlich der Verwendung der cURL-Bibliothek und der Funktion file_get_contents() zum Abrufen von XML-Daten sowie der Verwendung von SimpleXML und DOMDocument zum Parsen von XML-Daten. Ich hoffe, dieser Artikel ist hilfreich für Sie.
Das obige ist der detaillierte Inhalt vonSo erhalten und analysieren Sie XML-Daten mit dem PHP-Crawler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!