php数组与xml互转类
- 代码:
/** * @desc:xml与array互转 * @author [Lee] <[
]> * @property * data 传入的数据 * @method * arraytoxml 数组转xml 参数:data 返回:xml * arraytoxml xml转数组 参数:xml 返回:data */ class xmlarray{ private $data; # 传入数据 /* @desc:内部方法 递归转换数组成xml格式 @param data 传入的数组 @return str 返回的xml身体部分 */ private function change($data) { $str=""; foreach($data as $k=>$v){ $str .="<".$k.">"; if(is_array($v) || is_object($v)){ $str .= $this->change($v); }else{ $str .=$v; } $str .="".$k.">"; } return $str; } /* @desc:构造方法,实例化数据 @param data 传入的数据 */ public function __construct($data){ $this->data = $data; } /* @desc:数组转xml @return xml */ public function arraytoxml() { $xml =''; $xml .= $this->change($this->data); return $xml; } /* @desc:xml转数组 @return arr */ public function xmltoarray(){ $obj = simplexml_load_string($this->data, 'SimpleXMLElement', LIBXML_NOCDATA); $json = json_encode($obj); $arr = json_decode($json, true); return $arr; } } - 测试:
$str = '
'; $xmlarray = new xmlarray($str); $ret = $xmlarray->xmltoarray(); var_dump($ret);lee male - 输出:
array(2) { ["name"]=> string(3) "lee" ["sex"]=> string(4) "male" }
新闻名称:php数组与xml互转类
标题路径:http://cdiso.cn/article/gespeo.html