PHPプログラムに関する各種メモ書き

PHPでXMLパースする

● PHPでXMLをパースしてオブジェクトまたはハッシュに変換する

simplexml_load_string() だけだと少し扱いにくい形(オブジェクト)で帰ってくるので
ハッシュにしたい場合は json_decode() を使って配列にすると少し扱いやすくなります。

$xml = simplexml_load_string($html);
$xml_array = json_decode( json_encode( $xml ), TRUE );

● Message: simplexml_load_string(): Entity: line 1: parser error : Unsupported encoding x-sjis-cp932 エラーとなる場合の対処

返される xml が x-sjis-cp932 エンコーディングの場合エラーとなるので、次のように変換する。

 $data = mb_convert_encoding($data,"UTF-8");
 $data = str_replace("x-sjis-cp932","UTF-8",$data);

関連エントリー

No.422
01/16 15:12

edit

PEAR
XML