美文网首页程序猿的进阶屋
php生成XML文件的方式

php生成XML文件的方式

作者: dreamer_lk | 来源:发表于2018-12-05 15:06 被阅读3次
第一种方式:
使用方法:
$arr = ['name'=>'test','name2'=>['name22'=>'test1']];//数组维度可以随意
$xml = arrayToXml($arr);
function arrayToXml($arr)
{
    foreach ($arr as $key => $val) {
         //处理xml中为同一级内容且key名字相同的情况 
        //例:<contactPerson>****</contactPerson><contactPerson>###</contactPerson>
        $key = explode("_", $key);
        $key = $key['0'];
        if (is_array($val)) {
            $xml .= "<" . $key . ">" . arrayToXml($val) . "</" . $key . ">";
        } else {
            $xml .= "<" . $key . ">" . $val . "</" . $key . ">";
        }
    }
    return $xml;
}
输出结果:

<name>test</name>
<name2>
    <name22>test1</name22>
</name2>

第二种方式:
ps:中文会有问题,乱码
使用方法:
$xml = new SimpleXMLElement('<root/>');
echo $xml->asXML();//echo $xml->asXML('test.xml');

function array_to_XML($obj, $array)
{
    foreach ($array as $k => $v) {
        if (is_array($v)) {
            $node = $obj->addChild($k);
            array_to_XML($node, $v);
        } else {
            $obj->addChild($k, $v);
        }
    }
}

相关文章

网友评论

    本文标题:php生成XML文件的方式

    本文链接:https://www.haomeiwen.com/subject/dpxwcqtx.html