配列を使いたいというか、何らかの形で繰り返しを使いたかった。たとえばDBから複数件のデータをとりだして、それが配列に入っているとして、そのそれぞれに対してli要素を繰り返すとか。
多分DBから値を取り出すと、それは(連想)配列として取れるから。という前提。
<?php require_once("XML/FastCreate.php"); $x =& XML_FastCreate::factory('Text'); $e = ""; $xmlArray = array("hl" => "header1", "h2" => "header2"); foreach($xmlArray as $element => $text){ $e .= $x->xml($element, $text); // うさんくさい? } $x->root($e); $x->toXML(); ?>
うさんくさい?と書いたのは、ここの処理がこれでいいのか、ということ。
これ展開するとようするに
$x->root( $x->xml("h1", "header1")$x->xml("h2","header2") );
ということですから。
コンマがないので、ここのところの処理はいったいどうなっているのか*1気になるところです。
ちなみに実行結果はこんな
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <root><hl>header1</hl><h2>header2</h2></root>
Beautifulizerかけてないんで。
それはそれとして、XML宣言を消す方法はないんですか。(メソッドのオーバーライドですか)
*1:中身を見ろ?