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サービスの種類一覧へ

ホームページ WEBサービス API PHP プログラミング