<?php 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; } } ?>