zoukankan      html  css  js  c++  java
  • 使用php将数组转为XML

    <?php
    class Array_to_Xml
    {
        private $version  = '1.0';
        private $encoding  = 'UTF-8';
        private $root    = 'root';
        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(
        'hello' => '11212',
        'world' => '232323',
        'array' => array(
            'test' => 'test',
            'b'  => array('c'=>'c', 'd'=>'d')
        ),
        'a' => 'haha'
    );
    
    header("Content-type:text/xml");//输出xml头信息
    $xml = new Array_to_Xml();//实例化类
    echo $xml->toXml($res);//转为数组
    ?>

    效果如图:

  • 相关阅读:
    Java自学
    Java自学
    Java自学
    java自学
    Java自学
    mybatis基础及原理
    自定义swagger maven codegen插件
    spring学习总结016 --- spring事务原理
    spring学习总结015 --- spring事务
    windows解决端口占用问题
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/5010270.html
Copyright © 2011-2022 走看看