<?php
class xmlizer extends DomDocument {
function __construct() {
parent::__construct();
}
function node_create($arr, $items = null) {
if (is_null($items))
$items = $this->appendChild($this->createElement("items"));
foreach($arr as $element => $value) {
$element = is_numeric( $element ) ? "node" : $element;
$fragment = $this->createElement($element, (is_array($value) ? null : $value) );
$items->appendChild($fragment);
if (is_array($value)) {
self::node_create($value, $fragment);
}
}
}
public function __toString() {
return html_entity_decode($this->saveXML());
}
}
for($i=0;$i<5;$i++) {
$j = $i+1;
$array['example'][] = array(
"id" => $j,
"title" => "Title $j",
"description" => "<p>Text <strong>string</strong> nr. $j with <em>some</em> <code>HTML code</code>.</p>",
);
}
header("Content-Type:text/xml");
$xml = new xmlizer();
$xml->node_create($array);
echo $xml;