PHPで配列をXMLに変換するサンプルです。
SimpleXMLElementを使います。
array(
"title" => "Apple",
"description" => "About Apple."),
array(
"title" => "Orange",
"description" => "About Orange."));
$xmlstr = "<?xml version="1.0" ?><root></root>";
$xml = new SimpleXMLElement($xmlstr);
foreach($arrs as $arr){
$xmlitem = $xml -> addChild("item");
foreach($arr as $key => $value){
$xmlitem -> addChild($key, $value);
}
}
print $xml -> asXML();
まず$arrsという配列を作ります。要素は2個でそれぞれも配列です。
丁寧に書くと次の通りです。
$arrs[0][“title”] = “Apple”;
$arrs[0][“description”] = “About Apple.”;
$arrs[1][“title”] = “Orange”;
$arrs[1][“description”] = “About Orange.”;
$xmlstrという変数に最低限のXMLとしての文字列を代入します。
SimpleXMLElementを使って、$xmlという箱を作ります。
foreachを使って2個の要素について処理をします。
まず$arrs[0]について処理をします。
addChildを使って$xmlという箱の中に$xmlitemという箱を作ります。
$arrs[0]の中の2個の要素について処理をします。
addChildを使って$xmlitemという箱の中に”title”という箱を作り、”Apple”を入れます。
addChildを使って$xmlitemという箱の中に”description”という箱を作り、”About Apple.”を入れます。
次に$arrs[1]について処理をします。
addChildを使って$xmlという箱の中に$xmlitemという箱をもう一つ作ります。
$arrs[1]の中の2個の要素について処理をします。
addChildを使って$xmlitemという箱の中に”title”という箱を作り、”Orange”を入れます。
addChildを使って$xmlitemという箱の中に”description”という箱を作り、”About Orange.”を入れます。
asXMLを使って$xmlという箱をXMLとしての文字列に整形します。
これをprintで出力します。
<root><item><title>Apple</title><description>About Apple.</description></item><item><title>Orange</title><description>About Orange.</description></item></root>
コメント