« raster-noton.unit03 | メイン | カイ・シデンと紫電改 »

November 02, 2006

XML_Serializerの使い方

PHPで配列からXMLに変換するクラスを探していたら、PEARのXML_Serializerがいい感じだったので、ちょっと使い方をまとめてみました。

サンプルソース:
require_once 'XML/Serializer.php';

$item[] = array('item' => 'ipod', 'price' => '30000');
$item[] = array('item' => 'mac book', 'price' => '130000');
$item[] = array('item' => 'mac book pro', 'price' => '300000');

$lists['title'] = 'shop item list';
$lists['item'] = $item;

$options = array(
    "rootName"  => "shopitem",     #rootになるNode名
    "defaultTagName" => "items",   #ループするNode名
    "encoding"  => "UTF-8",
    "addDecl"   => true,                #xmlの宣言を出力する設定
    XML_SERIALIZER_OPTION_INDENT        => '    ',    #indentの設定
    XML_SERIALIZER_OPTION_RETURN_RESULT => true
    );

$serializer = &new XML_Serializer($options);

header('Content-type: text/xml');
echo $serializer->serialize($lists);
実行結果:
<?xml version="1.0" encoding="UTF-8"?>
<shopitem>
    <title>shop item list</title>
    <item>

        <items>
            <item>ipod</item>
            <price>30000</price>
        </items>
        <items>

            <item>mac book</item>
            <price>130000</price>
        </items>
        <items>
            <item>mac book pro</item>

            <price>300000</price>
        </items>
    </item>
</shopitem>
結構お手軽な感じで、使い勝手もよさげです。

Author nitoka : November 2, 2006 06:38 PM

TrackBack

TrackBack URL:
http://www.nitoka.net/blog/mt-tb.cgi/236

Comment

Please, comment




save