[PHP] Array to XML class
Published on 31.10.2010
Един набързо написан php class за генериране на xml от php масив.
class xmlGen { var $array = array(); var $xml = ''; private function strct($array) { foreach ($array as $k=>$v) { $tag = $k; if(is_int($tag)) $tag = 'a_'.$tag; $this->xml .= "<$tag>"; if (is_array($v)) { self::strct($v); } else { $this->xml .= $v; } $this->xml .= "</$tag>"; } } public function gen($array, $root = 'root') { self::strct($array); $header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><$root>"; $footer = "</$root>"; echo $header; echo $this->xml; echo $footer; } }може да се използва по следния начин
$sample = array( 'zadacha' => array( '1' => 'probna', '2' => 'product_compile', ), 'test' => date('d.m.Y'), ); include ('array2xml.php'); $xml = new xmlGen(); header ("content-type: text/xml"); echo $xml->gen($sample);генерираният файл от примера е
<?xml version="1.0" encoding="utf-8"?> <root> <zadacha> <a_1> probna </a_1> <a_2> product_compile </a_2> </zadacha> <test> 31.10.2010 </test> </root>