龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 将数组转换为XML

时间:2014-07-26 03:18来源:网络整理 作者:网络 点击:
分享到:
将数组转换为XML php的数组转换到XML(注意php的版本)[代码片段(50行)]

php的数组转换到XML(注意php的版本)

<?php
/****************************************************************
*   @ 2011 OsApi.Net Inc.
*   $author : LBC
*   $email  : pochonlee@gmail.com
*   $Id     : toxml.php 2011/1/21
*****************************************************************/
class A2Xml {
    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'
);
$xml = new A2Xml();
echo $xml->toXml($res);
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接