首页 >后端开发 >PHP问题 >使用php如何将数组转化成xml

使用php如何将数组转化成xml

王林
王林原创
2021-09-28 17:14:192446浏览

使用php将数组转化成xml的方法:【class Array_to_Xml{private $version  = '1.0';private $encoding  = 'UTF-8';private $root    = 'ro...】。

使用php如何将数组转化成xml

本文操作环境:windows10系统、php 7、thinkpad t480电脑。

下面是使用php将数组转化为xml的具体实现代码,一起来看下吧。

具体实现代码:

<?php
class Array_to_Xml
{
    private $version  = &#39;1.0&#39;;
    private $encoding  = &#39;UTF-8&#39;;
    private $root    = &#39;root&#39;;
    private $xml    = null;
    function __construct()
    {
        $this->xml = new XmlWriter();
    }
    function toXml($data, $eIsArray=FALSE)
    {
        if(!$eIsArray)
        {
            $this->xml->openMemory();
            $this->xml->startDocument($this->version, $this->encoding);
            $this->xml->startElement($this->root);
        }
        foreach($data as $key => $value)
        {
            if(is_array($value))
            {
                $this->xml->startElement($key);
                $this->toXml($value, TRUE);
                $this->xml->endElement();
                continue;
            }
            $this->xml->writeElement($key, $value);
        }
        if(!$eIsArray)
        {
            $this->xml->endElement();
            return $this->xml->outputMemory(true);
        }
    }
}
$res = array(
    &#39;hello&#39; => &#39;11212&#39;,
    &#39;world&#39; => &#39;232323&#39;,
    &#39;array&#39; => array(
        &#39;test&#39; => &#39;test&#39;,
        &#39;b&#39;  => array(&#39;c&#39;=>&#39;c&#39;, &#39;d&#39;=>&#39;d&#39;)
    ),
    &#39;a&#39; => &#39;haha&#39;
);

header("Content-type:text/xml");//输出xml头信息
$xml = new Array_to_Xml();//实例化类
echo $xml->toXml($res);//转为数组
?>

看下运行的效果:

936421289c3dc8f454d4618bc3af653.png

推荐学习:php培训

以上是使用php如何将数组转化成xml的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn