• 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));
            }
        }
    }
    
  • 相关阅读:
    如何判断轮廓是否为圆(算法更新)
    近期购置的CV&AI类图书梳理
    基于OpenCV实现“钢管计数”算法,基于Csharp编写界面,并实现算法融合
    大厂们的 redis 集群方案
    redis 突然大量逐出导致读写请求block
    Docker 1.13 管理命令
    玩转 Ceph 的正确姿势
    Docker 常用命令
    git常用命令
    从C++到GO
  • 原文地址:https://www.cnblogs.com/cxfs/p/13030640.html
Copyright © 2020-2023  润新知