ホーム > ブログ > php xmlオブジェクトを連想配列にする
2009年04月14日

php xmlオブジェクトを連想配列にする

PEARのXML_Unserializerを使うと楽です。

適当なxmlファイル(wine.xml)があったとします。

wine.xml

<?xml version="1.0" encoding="utf-8" ?>
<wine>
	<item>
		<rank>1</rank>
		<country>フランス</country>
		<amount>5,329,449</amount>
	</item>
	<item>
		<rank>2</rank>
		<country>イタリア</country>
		<amount>5,056,648</amount>
	</item>
	<item>
		<rank>3</rank>
		<country>スペイン</country>
		<amount>3,934,140</amount>
	</item>
</wine>

phpコードです。

sample.php
<?php
require_once 'XML/Unserializer.php';
$Unserializer=new XML_Unserializer();
$Unserializer->setOption('parseAttributes',TRUE);

if($status=$Unserializer->unserialize(file_get_contents('wine.xml'))){
 $result=$Unserializer->getUnserializedData();

 echo '<pre>';
 print_r($result);
 echo '</pre>';
}
?>

出力結果:
Array
(
    [item] => Array
        (
            [0] => Array
                (
                    [rank] => 1
                    [country] => フランス
                    [amount] => 5,329,449
                )
            [1] => Array
                (
                    [rank] => 2
                    [country] => イタリア
                    [amount] => 5,056,648
                )
            [2] => Array
                (
                    [rank] => 3
                    [country] => スペイン
                    [amount] => 3,934,140
                )
        )

)

連想配列化されてます。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

コメントを投稿

名前:


メールアドレス:


サイトURL:


コメント: