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);
}
}
}
它似乎是为我工作。你如何调用函数? –