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 );                       
        }
    }
}

questionAnswers(1)

yourAnswerToTheQuestion