[PHP] Array to XML class
Yuksel Saliev · · 1 min read
Един набързо написан 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>