xml學習筆記(1)

xml對象轉爲字符串

今天拿到一個xml文檔,要求轉爲數組錄入數據庫
解析xml方法有好多,我採用的是simplexml:

//將xml文件解析乘一個對象
$xml = simplexml_load_file('1.xml');
//如果xml是字符串的話使用
simplexml_load_string($str);

打印出來之後會發現是對象,但是對我們來說數組比較方便,因此這裏用的兩種方式,將它轉爲數組

// 類型強制轉換,把對象轉成數組 
print_r((array) $simxml); //最外層是數組,裏面可能還包含對象 
*/  

// 寫一個函數,遞歸把simpleXML對象轉成數組  
// 思路:先把最外層對象轉成數組,再循環數組,  
// 某個單元只要還是對象,就繼續調用自身來轉換  

function toArray($sim) {  
    $arr = (array) $sim;  

    foreach($arr as $k=>$v) {  
        if($v instanceof simplexmlelement || is_array($v)) {  
            $arr[$k] = toArray($v);  
        }  
    }  

    return $arr;  
}  


print_r($xmlarr = toArray($xml));  

後來又百度了一種更簡單的方法

$jsonStr = json_encode($xml->Sports);
$jsonArray = json_decode($jsonStr,true);
發佈了55 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章