php: eksportuj tablicę do problemów xml
Mam tablicę, którą muszę przekonwertować na XML z SimpleXML. Poniższa metoda prawie wykonuje pracę, ale jest z nią jeden problem. Nie może wygenerować takiej struktury:
$xmlFields = array(
'rootElt' => array(
'field1' => '',
'field2' => '',
'field3' => array(
'field4' => array(
'income' => array(
'owner' => '',
'description' => '',
),
'income' => array(
'owner' => '',
'description' => '',
),
),
)
)
);
Zapisuje tylko ostatni „dochód” sekcji „field4”, ale potrzebuję danych wyjściowych, takich jak:
<field4>
<income>
<owner>....</owner>
<description>....</description>
</income>
<income>
<owner>....</owner>
<description>....</description>
</income>
</field4>
Czy ktoś mógłby mi pomóc naprawić tę funkcję:
/**
* @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 );
}
}
}