XMLデータをPHPで利用する方法について紹介します。simplexml_load_file関数、simplexml_load_string関数を利用します。
目次
simplexml_load_file関数
$xml = simplexml_load_file( $xmlfile );
XMLファイルを解析し、SimpleXMLElementオブジェクトを取得します。
simplexml_load_string関数
$xml = simplexml_load_string( $xmlstring );
XML文字列を解析し、SimpleXMLElementオブジェクトを取得します。
利用例
下記サンプルでは、「HeartRails Geo API」を利用してます。「東京都」 に存在する市区町村名の一覧をXML形式で取得し、simplexml_load_file関数を通すことでPHPで扱えるようにしています。
$url = "http://geoapi.heartrails.com/api/xml?method=getCities&prefecture=%E6%9D%B1%E4%BA%AC%E9%83%BD";
$xml = simplexml_load_file($url);
if ($xml === FALSE) {
return;
} else {
foreach ($xml->location as $location) {
// XMLの要素名にハイフン(-)が使用されている場合、{}で囲う必要があります。
echo "<p>" . $location->city . ", " . $location->{'city-kana'} . "</p>";
}
}
千代田区, ちよだく
中央区, ちゅうおうく
港区, みなとく
新宿区, しんじゅくく
文京区, ぶんきょうく
(以下省略)