XMLを使用する
XMLをパースして使用する
XMLの構造については理解できたと思いますが、XML内のデータを抽出する必要があります。(一般的にパースやパースするなどと言われます。)
実際にプログラムを使用してみましょう。
(以下はPHP5を用いての説明です。若干の知識が必要です。初めての方は、やさしいPHPなどで勉強しましょう。また、PHP5が使用できる環境が必要です。おすすめのサーバーはエックスサーバーです。)
サンプルのプログラムソース
以下のソースをサーバーにアップして、ブラウザで見て下さい。このように表示されればOKです。「webservice」で検索した結果のタイトルのみを表示しています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Yahoo!検索APIサンプル</title>
</head>
<body>
<?php
$base = 'http://search.yahooapis.jp/WebSearchService/V1/webSearch?';
$id = 'appid=YahooDemo';
$word = 'webservice';
$query = '&query=' .urlencode($word);
$file = $base .$id .$query;
$xml = simplexml_load_file($file);
foreach($xml->Result as $Result){
print "{$Result->Title}<br>\n";
}
?>
</body>
</html>
PHP部分の説明
プログラム | 説明 |
---|---|
$base = 'http://search.yahooapis.jp/ WebSearchService/V1/webSearch?'; |
$base にYahoo!検索の基本URLを指定 |
$id = 'appid=YahooDemo'; | $id にアプリケーションIDを指定 |
$word = 'webservice'; | $word に検索ワードを代入 |
$query = '&query=' .urlencode($word); | $word をURLエンコードして、クエリ部分(&query=webservice)を作成 |
$file = $base .$id .$query; | 各変数をつなげて、リクエストURLを作成 |
$xml = simplexml_load_file($file); | URLをリクエストして、返ってきたXMLを$xmlに代入する。 |
foreach($xml->Result as $Result){ | XMLファイル内のResultを変数$Resultに代入する。Result分繰り返す。 |
print "{$Result->Title}<br>\n"; | XML内のTitleを表示する。foreachの繰り返しにより全てのTITLEが表示される。 |
パース部分
XMLからデータを抜きだしている部分は、以下の部分です。とても簡単です。
foreach($xml->Result as $Result){ print "{$Result->Title}<br>\n"; }
XML構造からSizeを得るには、$Result->Cache->Size とすればよいのです。
Title以外のものも表示させるなど、いじってみて下さい。
Result Title Summary Url ClickUrl ModificationDate MimeType Cache Url Size
まとめ
これで、WEBサービスについての基本は終了です。ここまで理解でき、動作させることができたなら、あとは実践あるのみです。使用してみたいWEBサービスをさっそく使いましょう!
当ページでは、各WEBサービスの説明も行っています。もしよろしければ参考にして下さい。WEBサービスの種類一覧へ