本篇文章为大家展示了怎么在PHP中将数组转换为SimpleXML,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
SimpleXML扩展函数提供了将XML转换为对象的工具集。这些对象处理普通的属性选择器和数组迭代器。
示例1:
<?php
// 将php数组转换为xml文档的代码
//定义一个将数组转换成xml的函数。
function arrayToXml($array, $rootElement = null, $xml = null) {
$_xml = $xml;
// 如果没有$rootElement,则插入$rootElement
if ($_xml === null) {
$_xml = new SimpleXMLElement($rootElement !== null ? $rootElement : '<root/>');
}
// 访问所有键值对
foreach ($array as $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函数并打印结果
echo arrayToXml($my_array);
?>
输出:
<?xml version="1.0"?>
<root>
<name> GFG </name>
<subject> CS </subject>
<contact_info >
<city > Noida < /city >
<state > UP < /state >
<email > 448199179@qq.com </email>
<contact_info>
<root>
可以使用array_walk_recursive()函数解决上述问题。此函数将数组转换为xml文档,其中数组的键转换为值,数组的值转换为xml的元素。
示例2:
<?php
// 将php数组转换为xml文档的代码
//创建一个数组
$my_array = array (
'a' => 'x',
'b' => 'y',
// creating nested array
'another_array' => array (
'c' => 'z',
),
);
// 这个函数使用root元素创建一个xml对象。
$xml = new SimpleXMLElement('<root/>');
// 这个函数重新将数组元素添加到xml文档中
array_walk_recursive($my_array, array ($xml, 'addChild'));
// 这个函数打印xml文档。
print $xml->asXML();
?>
输出:
<?xml version =“1.0”?> <root>
<x> a </ x>
<y> b </ y>
<z> c </ z> </ root>
注:
如果系统生成错误类型:
PHP Fatal error: Uncaught Error: Class ‘SimpleXMLElement' not found in /home/6bc5567266b35ae3e76d84307e5bdc78.php:24 ,
上述内容就是怎么在PHP中将数组转换为SimpleXML,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。