国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php中SimpleXMLElement 對象轉換為數組

2024-05-04 21:58:38
字體:
來源:轉載
供稿:網友

PHP 提供了 simplexml_load_string 方法用來解析 XML 格式的字符串,并返回 SimpleXMLElement 對象,不過一般數組是更為適用的,所以也會有轉換為普通數組的需求,這個方法測試完全奏效,支持 SimpleXMLElement 對象多層嵌套的情況.

提供兩個參數,第一個參數為 SimpleXMLElement 對象,第二個參數為布爾值,控制最終返回值是否包含根節點,代碼如下:

  1. function xmlToArr ($xml$root = true) { 
  2.  
  3.   if (!$xml->children()) { 
  4.    return (string) $xml
  5.   } 
  6.   $array = array(); 
  7.   foreach ($xml->children() as $element => $node) { 
  8.    $totalElement = count($xml->{$element}); 
  9.    if (!isset($array[$element])) { 
  10.     $array[$element] = ""
  11.    } 
  12.    // Has attributes 
  13.    if ($attributes = $node->attributes()) { 
  14.     $data = array
  15.      'attributes' => array(), 
  16.      'value' => (count($node) > 0) ? $this->__xmlToArr($node, false) 
  17.  
  18. : (string) $node 
  19.     ); 
  20.     foreach ($attributes as $attr => $value) { 
  21.      $data['attributes'][$attr] = (string) $value
  22.     } 
  23.     if ($totalElement > 1) { 
  24.      $array[$element][] = $data
  25.     } else { 
  26.      $array[$element] = $data
  27.     } 
  28.    // Just a value 
  29.    } else { 
  30.     if ($totalElement > 1) { 
  31.      $array[$element][] = $this->__xmlToArr($node, false); 
  32.     } else { 
  33.      $array[$element] = $this->__xmlToArr($node, false); 
  34.     } 
  35.    } 
  36.   }//開源代碼Vevb.com 
  37.   if ($root) { 
  38.    return array($xml->getName() => $array); 
  39.   } else { 
  40.    return $array
  41.   } 
  42.  
  43.  } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 耒阳市| 普宁市| 大关县| 舞阳县| 家居| 区。| 庆元县| 榆林市| 萍乡市| 盐源县| 鲁甸县| 翁牛特旗| 河北区| 德化县| 雷州市| 铁力市| 景洪市| 大邑县| 娱乐| 常山县| 广州市| 苗栗市| 崇州市| 方山县| 唐山市| 凤山县| 淳化县| 清河县| 和龙市| 梨树县| 安龙县| 即墨市| 寻甸| 若羌县| 波密县| 乐业县| 平武县| 宁远县| 宁乡县| 南昌县| 阳东县|