/**
* @desc:xml與array互轉
* @author [Lee] <[<complet@163.com>]>
* @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 version="1.0" encoding="utf8" -->';
$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 = '<!--xml version="1.0" encoding="utf8" --><document><name>lee</name><sex>male</sex></document>';
$xmlarray = new xmlarray($str);
$ret = $xmlarray->xmltoarray();
var_dump($ret);
array(2) {
["name"]=>
string(3) "lee"
["sex"]=>
string(4) "male"
}
網頁名稱:php數組與xml互轉類
文章地址:http://m.kartarina.com/article40/gespeo.html
成都網站建設公司_創新互聯,為您提供網站設計、軟件開發、品牌網站設計、網站內鏈、建站公司、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯