XMLデータ読み込み方法

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>";
    }
}
千代田区, ちよだく

中央区, ちゅうおうく

港区, みなとく

新宿区, しんじゅくく

文京区, ぶんきょうく
    (以下省略)