PHP xml 转数组 数组转 xml 操作

XML转数组

直接上代码

$path = './data.xml';
$xml = simplexml_load_file($path);
foreach($xml->children() as $child){
	echo $child
}

simplexml_load_file() 函数把 XML 文档载入对象中。
| file | 必需。规定要使用的 XML 文档。 |
| class | 可选。规定新对象的 class。 |
| options | 可选。规定附加的 Libxml 参数。 |
| ns | 可选。 |
| is_prefix | 可选。 |
返回一个SimpleXMLElement 对象

如果是字符串怎么办?

$xml=simplexml_load_string($note);
print_r($xml)

simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。
| data | 必需。规定形式良好的 XML 字符串。 |
| classname | 可选。规定新对象的 class。 |
返回一个SimpleXMLElement 对象

我要的是数组,可不是对象啊

SimpleXMLElement 对象转换数组,直接强转即可

$array = (array)$SimpleXMLElement;

数组转XML

多维数组递归转换XML

// 创建新的simpleXML实例,注入内存,确定根节点
$xml = new SimpleXMLElement('<root/>');
//数组转XML
function arrayToXml($obj, $array)
{
    foreach ($array as $k => $v)
    {
        if(is_numeric($k))
            $k = 'item' . $k;
        if(is_array($v)){
            $node = $obj->addChild($k);
            arrayToXml($node, $v);
        }else{
            $obj->addChild($k, htmlspecialchars($v));
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值