PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » PHP中高级 » [其他类别]Array2xml 1.1
本页主题: [其他类别]Array2xml 1.1 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

自由的龙

该用户目前不在线
级别: 中级程序员
精华: 1
发帖: 1264
威望: 1267 点
金钱: 12660 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-04-16
最后登录:2006-06-27

[其他类别]Array2xml 1.1


更新:fixed Array2xml 1.0 的一个bug(移去item标签).


CODE:[Copy to clipboard]<?php
/**
@name:Array2xml
@version:1.1
@date:2006-1-25
@license:http://www.gnu.org/copyleft/gpl.html GNU/GPL
@author:axgle <axgle@126.com>
Array2xml is Free Software
*/
header("content-type:text/xml");

$arr=array
('html ver="1.1"'=>
    array('head'=>array('title'=>'this is title'),
            'body'=>array('p'=>array('this is p1','this is p2') )
          )
);

$ax=new array2xml($arr);
echo $ax->getXML();


class array2xml {
    var $xml;
    function array2xml($array,$encoding='gb2312') {
          $this->xml='<?xml version="1.0" encoding="'.$encoding.'"?>';
          $this->xml.=$this->_array2xml($array);
         
    }
    function getXml() {
          return $this->xml;
    }
    function _array2xml($array) {
          foreach($array as $key=>$val) {
                $num=is_numeric($key);
                $num||$xml.="<$key>";

                if(is_array($val)) {
                    $subNum=is_numeric(key($val));
                    if($subNum) {
                          $mergeVal=implode("</$key><$key>",$val);
                          $xml.=$mergeVal."</$key>";
                          continue;
                    }
                    $xml.=$this->_array2xml($val);
                } else {
                    $xml.=$val;
                }

                list($key,)=explode(' ',$key);
                $num||$xml.="</$key>";
          }
          return $xml;
    }
}
?>
顶端 Posted: 2006-04-25 13:09 | [楼 主]
PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » PHP中高级

时:11-23 19:21 Copyright © 2006 phpwhy.com 权
ICP05060669

曳息 -