<?
php
class Array_to_Xml
{
private $version = '1.0'
;
private $encoding = 'UTF-8'
;
private $root = 'root'
;
private $xml =
null;
function __construct()
{
$this->xml =
new XmlWriter();
}
function toXml(
$data,
$eIsArray=
FALSE)
{
if(!
$eIsArray)
{
$this->xml->
openMemory();
$this->xml->startDocument(
$this->version,
$this->
encoding);
$this->xml->startElement(
$this->
root);
}
foreach(
$data as $key =>
$value)
{
if(
is_array(
$value))
{
$this->xml->startElement(
$key);
$this->toXml(
$value,
TRUE);
$this->xml->
endElement();
continue;
}
$this->xml->writeElement(
$key,
$value);
}
if(!
$eIsArray)
{
$this->xml->
endElement();
return $this->xml->outputMemory(
true);
}
}
}
$res =
array(
'hello' => '11212',
'world' => '232323',
'array' =>
array(
'test' => 'test',
'b' =>
array('c'=>'c', 'd'=>'d'
)
),
'a' => 'haha'
);
header("Content-type:text/xml");
//输出xml头信息
$xml =
new Array_to_Xml();
//实例化类
echo $xml->toXml(
$res);
//转为数组
?>
效果如图:
转载于:https://www.cnblogs.com/lizhaoyao/p/5010270.html