当前位置:首页 > PHP教程 > php数组 > 列表

php实现xml转换数组的方法示例

发布:smiling 来源: PHP粉丝网  添加日期:2018-07-26 13:25:06 浏览: 评论:0 
  1. <?php 
  2. $info= '<?xml version="1.0"encoding="utf-8"?> 
  3.       <data> 
  4.         <GeocoderSearchResponse> 
  5.           <status>OK</status> 
  6.           <result> 
  7.             <location> 
  8.               <lat>39.94921</lat> 
  9.               <lng>116.463619</lng> 
  10.             </location> 
  11.           <precise>0</precise> 
  12.           <confidence>50</confidence> 
  13.           <level>脚本</level> 
  14.           </result> 
  15.         </GeocoderSearchResponse> 
  16.         <GeocoderSearchResponse> 
  17.           <status>OK</status> 
  18.           <result> 
  19.             <location> 
  20.               <lat>39</lat> 
  21.               <lng>116</lng> 
  22.             </location> 
  23.           <precise>0</precise> 
  24.           <confidence>50</confidence> 
  25.           <level>脚本123</level> 
  26.           </result> 
  27.         </GeocoderSearchResponse> 
  28.       </data>'; 
  29. $xml= simplexml_load_string($info); 
  30. functionxml2array($xmlobject) { 
  31.   if($xmlobject) { 
  32.     foreach((array)$xmlobjectas$k=>$v) { 
  33.       $data[$k] = !is_string($v) ? xml2array($v) :$v
  34.     } 
  35.     return$data
  36.   } 
  37. $data= xml2array($xml); 
  38. var_dump($data); 
  39. ?> 

运行结果如下:

  1. array(1) { 
  2.  ["GeocoderSearchResponse"]=> 
  3.  array(2) { 
  4.   [0]=> 
  5.   array(2) { 
  6.    ["status"]=> 
  7.    string(2)"OK" 
  8.    ["result"]=> 
  9.    array(4) { 
  10.     ["location"]=> 
  11.     array(2) { 
  12.      ["lat"]=> 
  13.      string(8)"39.94921" 
  14.      ["lng"]=> 
  15.      string(10)"116.463619" 
  16.     } 
  17.     ["precise"]=> 
  18.     string(1)"0" 
  19.     ["confidence"]=> 
  20.     string(2)"50" 
  21.     ["level"]=> 
  22.     string(6)"脚本" 
  23.    } 
  24.   } 
  25.   [1]=> 
  26.   array(2) { 
  27.    ["status"]=> 
  28.    string(2)"OK" 
  29.    ["result"]=> 
  30.    array(4) { 
  31.     ["location"]=> 
  32.     array(2) { 
  33.      ["lat"]=> 
  34.      string(2)"39" 
  35.      ["lng"]=> 
  36.      string(3)"116" 
  37.     } 
  38.     ["precise"]=> 
  39.     string(1)"0" 
  40.     ["confidence"]=> 
  41.     string(2)"50" 
  42.     ["level"]=> 
  43.     string(9)"脚本123" 
  44.    } 
  45.   } 
  46.  } 

Tags: 数组 示例 方法

分享到: