PHP中数组转换为SimpleXML教程
SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。
示例1:
');
}
//访问所有键值对
foreach($arrayas$k=>$v){
//如果有嵌套数组
if(is_array($v)){
//调用嵌套数组的函数
arrayToXml($v,$k,$_xml->addChild($k));
}
else{
$_xml->addChild($k,$v);
}
}
return$_xml->asXML();
}
//创建一个用于演示的数组
$my_array=array(
'name'=>'GFG',
'subject'=>'CS',
//创建嵌套数组。
'contact_info'=>array(
'city'=>'Noida',
'state'=>'UP',
'email'=>'448199179@qq.com'
),
);
//调用arrayToxml函数并打印结果
echoarrayToXml($my_array);
?>
输出:
GFG CS Noida UP 448199179@qq.com
可以使用array_walk_recursive()函数解决上述问题。此函数将数组转换为xml文档,其中数组的键转换为值,数组的值转换为xml的元素。
示例2:
'x',
'b'=>'y',
//creatingnestedarray
'another_array'=>array(
'c'=>'z',
),
);
//这个函数使用root元素创建一个xml对象。
$xml=newSimpleXMLElement(' ');
//这个函数重新将数组元素添加到xml文档中
array_walk_recursive($my_array,array($xml,'addChild'));
//这个函数打印xml文档。
print$xml->asXML();
?>
输出:
<?xmlversion=“1.0”?>a b c
注:
如果系统生成错误类型:
PHPFatalerror:UncaughtError:Class‘SimpleXMLElement'notfoundin/home/6bc5567266b35ae3e76d84307e5bdc78.php:24,
那么只需安装php-xml,php-simplexml软件包。