0
我有一個數組,我需要使用SimpleXML將其轉換爲XML。下面的方法幾乎可以完成這項工作,但它有一個問題。它不能產生結構是這樣的:php:導出數組到XML問題
$xmlFields = array(
'rootElt' => array(
'field1' => '',
'field2' => '',
'field3' => array(
'field4' => array(
'income' => array(
'owner' => '',
'description' => '',
),
'income' => array(
'owner' => '',
'description' => '',
),
),
)
)
);
它僅寫入部分「字段4」最後的收入「,但我需要一個像輸出:
<field4>
<income>
<owner>....</owner>
<description>....</description>
</income>
<income>
<owner>....</owner>
<description>....</description>
</income>
</field4>
有人能幫助我解決這個功能:
/**
* @param array $dataArr
* @param SimpleXMLElement $xmlObj
*/
private function array2xml($dataArr, $xmlObj) {
foreach ($dataArr as $key => $value) {
if (is_array($value)) {
if (!is_numeric($key)) {
$subnode = $xmlObj->addChild($key);
self::array2xml($value, $subnode);
} else {
self::array2xml($value, $xmlObj);
}
} else {
$xmlObj->addChild($key, $value);
}
}
}
它似乎是爲我工作。你如何調用函數? –