php數組與xml互轉類

來源:互聯網
上載者:User

標籤:php數組與xml互轉類

  • 代碼:
    /*** @desc:xml與array互轉* @author [Lee] <[<[email protected]>]>* @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互轉類

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.