ホームページ >バックエンド開発 >PHPチュートリアル >PHP クローラーを使用して XML データを取得および解析する方法
Web 開発では、XML データの取得と解析は非常に一般的な操作です。この記事では、PHP クローラーを使用して XML データを取得および解析する方法に焦点を当てます。
1. XML データの取得
cURL ライブラリは、データを取得するために非常によく使用される PHP ライブラリです。次のコードを使用して、Web サイトから XML データを取得できます。
$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);
ここでは、curl_init() を使用して cURL オブジェクトを初期化し、CURLOPT_URL パラメーターをターゲット URL に設定します。 CURLOPT_RETURTRANSFER パラメータを 1 に設定すると、cURL はコンテンツを直接出力する代わりに文字列を返します。
cURL ライブラリが XML データを取得する一方で、file_get_contents() メソッドでも XML データを取得できます。次の例に従うことで、この目標を達成できます:
$url = 'http://example.com/example.xml'; $xml = file_get_contents($url);
2. XML データの解析
PHP には、XML データを解析するためのさまざまなメソッドが用意されています。
SimpleXML は、PHP で非常に使いやすい XML パーサーです。 SimpleXML は次のように使用できます。
$xml = simplexml_load_string($xml);
ここでは、simplexml_load_string() メソッドを使用して XML 文字列を解析し、オブジェクトに変換しています。
たとえば、次の XML ドキュメントがあるとします。
<?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>
次のコードを使用して、この XML データにアクセスして出力できます。
foreach ($xml->book as $book) { echo "Title: " . $book->title . "<br>"; echo "Author: " . $book->author . "<br>"; echo "Price: " . $book->price . "<br>"; }
出力は次のとおりです。 :
Title: PHP 7 Programming Blueprints Author: Vikram Vaswani Price: 28.99 Title: Mastering PHP 7 Author: Chad Russell Price: 39.99
DOMDocument は、PHP でよく使用されるもう 1 つの XML パーサーです。 DOMDocument は次のように使用できます。
$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>"; }
ここでは、DOMDocument クラスを使用して XML ドキュメントを解析し、次に getElementsByTagName() メソッドを使用して特定の要素を取得します。最終出力は SimpleXML パーサーと同じです。
3. 概要
この記事では、PHP クローラーを使用して XML データを取得および解析する方法 (cURL ライブラリと file_get_contents() 関数を使用して XML データを取得する方法や、 SimpleXML と DOMDocument は XML データを解析します。この記事がお役に立てば幸いです。
以上がPHP クローラーを使用して XML データを取得および解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。