您好,登錄后才能下訂單哦!
/**
* @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"
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。