7.12.1 serialize
serialize($data, $options = array())
- mixed $data - XMLに変換するコンテンツ
- mixed $options - データのフォーマットに関するオプション。適当なオプションのリストは、
Xml::__construct()を見てください。- string $options['root'] - ルートエレメントの名前。デフォルトは '#document'です。
- string $options['version'] - XMLのバージョン。デフォルトは '1.0'です。
- string $options['encoding'] - ドキュメントのエンコーディング。デフォルトは 'UTF-8'です。
- array $options['namespaces'] - このドキュメントで使われるnamespaces(文字列)の配列。
- string $options['format'] - テキストとして解析・レンダリングをするときにドキュメントを変換するフォーマットの指定。'attributes'か'tags'を指定できます。デフォルトは'attributes'です。
- array $options['tags'] - タグ固有のフォーマットオプションを指定する配列で、タグの名前でインデックスされます。XmlNode::normalize()を参照してください。
serialize メソッドは配列を使ってデータの XML 文字列を生成します。これは主にモデルデータをシリアル化する時に使用します。
<?php echo $xml->serialize($data); format will be similar to: <model_name id="1" field_name="content" /> ?>
<?phpecho $xml->serialize($data);format will be similar to:<model_name id="1" field_name="content" />?>
serialize メソッドは組み込みのXMLクラスのインスタンス化と自身のtoStringメソッドの使用へのショートカットとして振舞います。シリア化より多くの操作が必要なら、直接XMLクラスの起動を要求することができます。
format属性を使うことによってデータをどういうふうにシリアライズするか変えることができます。formatを"tags"に指定すると、データはタグとしてシリアライズ化されることでしょう。
pr($data);
pr($data);
Array
(
[Baker] => Array
(
[0] => Array
(
[name] => The Baker
[weight] => heavy
)
[1] => Array
(
[name] => The Cook
[weight] => light-weight
)
)
)
pr($xml->serialize($data));
pr($xml->serialize($data));
<baker>
<baker name="The Baker" weight="heavy" />
<baker name="The Cook" weight="light-weight" />
</baker>
pr($xml->serialize($data, array('format' => 'tags'))); pr($xml->serialize($data, array('format' => 'tags')));
<baker>
<baker>
<name><![CDATA[The Baker]]></name>
<weight><![CDATA[heavy]]></weight>
</baker>
<baker>
<name><![CDATA[The Cook]]></name>
<weight><![CDATA[light-weight]]></weight>
</baker>
</baker>


























