LoginSignup
22

More than 5 years have passed since last update.

PHPでXMLを解析するときに注意すること

Last updated at Posted at 2014-11-11

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();

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22