最近開發一個項目,需要調用第三方的介面,第三方提供的數據是xml,我直接使用Array2XML把php數組轉成XML格式。 XML格式如: 由於php數組無法指定多個重覆下標,後面的會覆蓋前面的值,最終只會展示一個值 上面php數組用Array2XML轉成XML,body裡面只會有一個item節點。 ...
最近開發一個項目,需要調用第三方的介面,第三方提供的數據是xml,我直接使用Array2XML把php數組轉成XML格式。
XML格式如:
<root> <body> <item></item> <item></item> <item></item> </body> </root>
由於php數組無法指定多個重覆下標,後面的會覆蓋前面的值,最終只會展示一個值
//php不支持這種格式的數組
$arr = [ 'body' => [ 'item' => [],
'item' => [],
'item' => [] ]
];
$doc_xml = Array2XML::createXML('root', $arr);
$xml = $doc_xml->saveXML();//這裡最終只會生成一個item節點
上面php數組用Array2XML轉成XML,body裡面只會有一個item節點。
在這裡可以把PHP數組寫成預設的格式,不用多維的key,value格式。
$arr = [ 'body' => [ 'item' => [
[],
[],
[] ] ] ];
把所有item節點,用一個item作為數組放裡面,不用寫成 key => value,這樣Array2XML就會用item節點,生成多個item節點。