php数组和xml相互转换函数

来源:https://www.sucaihuo.com/php/878.html 2016-06-28 21:29浏览(1182) 收藏

本文演示了php二维数组转换成xml和xml转换成二维数组的两个简单方法。xml源代码请查看源文件。
php数组和xml相互转换函数
分类:PHP > 函数 难易:初级
下载资源 下载积分: 20 积分

数组转XML

function arrayToXml($arr, $dom = 0, $item = 0) {
    if (!$dom) {
        $dom = new DOMDocument("1.0");
    }
    if (!$item) {
        $item = $dom->createElement("root");
        $dom->appendChild($item);
    }
    foreach ($arr as $key => $val) {
        $itemx = $dom->createElement(is_string($key) ? $key : "item");
        $item->appendChild($itemx);
        if (!is_array($val)) {
            $text = $dom->createTextNode($val);
            $itemx->appendChild($text);
        } else {
            arrayToXml($val, $dom, $itemx);
        }
    }
    return $dom->saveXML();
}
function arrayToXml2($arr) {
    $xml = "<xml>";
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
            $xml.="<" . $key . ">" . arrayToXml($val) . "</" . $key . ">";
        } else {
            $xml.="<" . $key . ">" . $val . "</" . $key . ">";
        }
    }
    $xml.="</xml>";
    return $xml;
}

//将XML转为array
function xmlToArray($xml) {
    //禁止引用外部xml实体
    libxml_disable_entity_loader(true);
    $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
    $val = json_decode(json_encode($xmlstring), true);
    return $val;
}
<strong>数组转换xml(右击鼠标请查看源文件):</strong>
<p>
    <?php print_r($result); ?>
</p>
<strong> xml转换数组:</strong>
<p>
<pre>
    <?php print_r($xmls); ?>
</pre>
标签: 数组
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2