PHPでXMLのデータを解析する
XMLをパースする
XML形式についてはPHPの関数でsimplexml_load_stringという関数があります。
これはXML文書をパースしてオブジェクト化してくれる関数だそうです。
$xml = file_get_contents('http://blog.kzno.net/feed/');
$xmlObject = simplexml_load_string($xml);
ただ、これだけだと比較する時や引数として値を渡したいときにオプジェクトとして扱うためうまくいきません。
引数として使用する場合は**(string)**で文字列にキャストしてやると幸せになれます。
print( (string)$xmlObject->channel->title );
でもこれだといちいちキャストしないといけないので面倒。
そういった場合はオブジェクト全体を連想配列にすると便利。
$xmlArray = json_decode( json_encode( $xmlObject ), TRUE ) );
これでオブジェクトとか気にすることなく配列として使えます。
ちなみにオブジェクトの状態だとxmlに戻すことも可能。
オブジェクトをxml形式に戻す
$xmlObject->asXML();