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);