2014-12-03 50 views
0

我試圖用SimpleXML將多維數組轉換爲XML文件。 我遵循以下指示:https://stackoverflow.com/a/5965940/3169412這些修改:http://pastebin.com/pYuXQWee但我無法得到正確的結果。使用SimpleXML將多維數組轉換爲XML

陣列使用:

$array = 
array(
'name' => 'xxx', 
'chapter' => array(
    array(
    'title' => 'yyy', 
    'slide' => 
     array(
     'header' => array('zzz','aaa'), 
     'paragraph' => array('bbb','ccc') 
     ), 
     array(
      'header' => array('ddd'), 
      'paragraph' => array('eee') 
     ) 
    ), 
    array(
     'title' => 'fff', 
     'slide' => array(
      'header' => array('ggg'), 
      'paragraph' => array('hhh') 
     ) 
    ) 
    ) 
); 

首選(需要)XML輸出:http://pastebin.com/HWWeDehK

我試着用不同的方法來獲得正確的地點正確的節點,但它們似乎都失敗。最近我得到的是使用array_keys($ values),但後來我得到了很多雙節點或節點在錯誤的地方。

XMLresult現在:http://pastebin.com/L8LL5VVe

回答

0
​​

file.xml內容是完全按照自己的要求。

+0

有了,我得到: http://pastebin.com/SM4wMYTT(或者我錯過了什麼?) – 2014-12-03 17:12:03

+0

這是我現在使用的所有代碼:http://pastebin.com/ALgkGJDV – 2014-12-03 17:20:31

0

隨着FluidXML您可以從PHP數組生成XML,然後在導入SimpleXML的

$data = [ 'doc' => [ 
       'fruit' => 'orange', 
       'cake' => [ 
        '@id' => '123', 
        '@' => 'tiramisu' ], 
       [ 'pasta' => 'matriciana' ], 
       [ 'pasta' => 'boscaiola' ] 
] ]; 

就這樣

$doc  = fluidxml($data); 
$simplexml = simplexml_import_dom($doc->dom()); 

// Done. ;) 

https://github.com/servo-php/fluidxml