xml與陣列的相互轉換——php
xml與陣列的相互轉換——php
1 xml轉換為陣列:
a.xml:
<?xml version="1.0" encoding="utf-8"?>
<root>
<title>
<arr>
<b>
<c>我是c</c>
<c>我是c</c>
</b>
<b>我是b</b>
</arr>
</title>
</root>
a.php:
<?php
$xml = simplexml_load_file("a.xml");
// xml物件轉化為陣列
function xml2arr($xml){
$arr = (array) $xml;
foreach ($arr as $k => $v) {
if(is_object($v)||is_array($v)){
$arr[$k] = xml2arr($v);
}
}
return $arr;
}
$arr = xml2arr($xml);
print_r($arr);
?>
2 陣列轉化為xml:
<?php
// 陣列轉化為xml
$a = array(
'name'=>'su',
'age'=>22,
'job'=>array(
'title'=>'經理',
'salary'=>888
),
'team'=>array('小紅','小明')
);
// 轉化函式
function arr2xml($arr,$node=null){
if($node===null){
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><root></root>');
}else{
$xml = $node;
}
foreach ($arr as $k => $v) {
if(is_array($v)){
// 先把key放上去 再放在key上
$_k = $xml->addChild($k);
arr2xml($v,$_k); //遞迴
}elseif(is_string($k)){
$xml->addChild($k,$v);
//因為xml的鍵不能是數字開頭 所以遇到key是數字的可以自定義鍵改變
}elseif(is_numeric($k)){
$k = 'item';
$xml->addChild($k,$v);
}
}
return $xml->saveXML();
}
header('content-type:text/xml');
echo arr2xml($a);
?>
相關文章
- 陣列與字串方法與相互轉換陣列字串
- PHP xml 轉陣列 陣列轉 xml 操作PHPXML陣列
- php陣列如何轉換為xml的形式?PHP陣列XML
- XML與DataSet的相互轉換XML
- string與char陣列相互轉換陣列
- 轉:java中陣列與List相互轉換的方法Java陣列
- 陣列和集合的相互轉換陣列
- 字串和陣列的相互轉換字串陣列
- JavaScript陣列與字串相互轉換 join、splitJavaScript陣列字串
- java 物件與xml相互轉換Java物件XML
- PHP利用JSON將XML轉換為陣列PHPJSONXML陣列
- iOS字串和陣列的相互轉換iOS字串陣列
- C# byte陣列與Image相互轉換的方法C#陣列
- Swift中實現Array陣列和NSArray陣列的相互轉換與遍歷Swift陣列
- javascript中字串和陣列的相互轉換JavaScript字串陣列
- PHP陣列轉換為js陣列PHP陣列JS
- 陣列與集合List的相互轉化陣列
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- 轉 IOS---NSdata 與 NSString,Byte陣列,UIImage 的相互轉換iOS陣列UI
- 旋轉矩陣與尤拉角的相互轉換矩陣
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- js實現的字串和陣列的相互轉換JS字串陣列
- php陣列轉xml的遞迴實現PHP陣列XML遞迴
- PHP 物件轉換成陣列PHP物件陣列
- js實現的陣列和CSV格式的相互轉換JS陣列
- 通過JDOM實現XML與String的相互轉換XML
- 使用Java完成byte陣列與十六進位制字串相互轉換Java陣列字串
- android byte[]陣列,bitmap,drawable之間的相互轉換Android陣列
- php json轉換成陣列形式PHPJSON陣列
- 31_Pandas.DataFrame,Series和NumPy陣列ndarray相互轉換陣列
- php如何遍歷多維的stdClassObject物件,php的轉換成陣列的函式只能轉換外面一叢陣列PHPObject物件陣列函式
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- xml資料轉陣列XML陣列
- Java 集合與陣列互相轉換Java陣列
- UIImage與Iplimage相互轉換UI
- SDOM與QDOM相互轉換
- DataTable與List相互轉換
- Jquery 陣列與字串之間的轉換jQuery陣列字串