Updated: June/2009
Updated: June/2009
function xml_encode($mixed,$domElement=null,$DOMDocument=null){
if(is_null($DOMDocument)){
$DOMDocument=new DOMDocument;
$DOMDocument->formatOutput=true;
xml_encode($mixed,$DOMDocument,$DOMDocument);
echo $DOMDocument->saveXML();
}
else{
if(is_array($mixed)){
foreach($mixed as $index=>$mixedElement){
if(is_int($index)){
if($index==0){
$node=$domElement;
}
else{
$node=$DOMDocument->createElement($domElement->tagName);
$domElement->parentNode->appendChild($node);
}
}
else{
$plural=$DOMDocument->createElement($index);
$domElement->appendChild($plural);
$node=$plural;
if(rtrim($index,'s')!==$index){
$singular=$DOMDocument->createElement(rtrim($index,'s'));
$plural->appendChild($singular);
$node=$singular;
}
}
xml_encode($mixedElement,$node,$DOMDocument);
}
}
else{
$domElement->appendChild($DOMDocument->createTextNode($mixed));
}
}
}