2014-09-11 93 views
0

我有PHP數組像下面如何PHP數組轉換爲XML

$row = array (
    'name' => 'david', 
'bio' => 'good man' 
); 

我想這個數組轉換爲相應的XML頁面如下圖所示的場景。

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
    <name>david</name> 
    <bio>good man</bio> 
</note> 
+0

你嘗試過這麼遠嗎?您是否查找過使用PHP創建XML的方法? – 2014-09-11 13:11:02

+0

我想的PHP數組獲取輸出像 大衛 好人 Jishad 2014-09-11 13:15:30

+0

我想這個答案會讓你的生活更輕鬆:d [http://stackoverflow.com/a/5965940 /2178259](http://stackoverflow.com/a/5965940/2178259) – 2014-09-11 13:38:35

回答

1

試試這個。

$xml = new SimpleXMLElement('<note/>'); 
    $row = array_flip($row); 
    array_walk_recursive($row, array ($xml, 'addChild')); 
    echo htmlentities($xml->asXML()); 
+0

我試過這個,但我可以得到像** davidgoodman ** – Jishad 2014-09-11 13:20:56

+0

查看頁面源 – 2014-09-11 13:21:09

+0

使用'echo htmlentities($ xml-> asXML() );'看到標記,這是正確的答案,+1 – Ghost 2014-09-11 13:22:11

0

與DOM生成XML:

$row = array (
    'name' => 'david', 
    'bio' => 'good man' 
); 

$dom = new DOMDocument(); 
$dom->formatOutput = TRUE; 

$note = $dom->appendChild($dom->createElement('note')); 
foreach ($row as $name => $value) { 
    $note 
    ->appendChild($dom->createElement($name)) 
    ->appendChild($dom->createTextNode($value)); 
} 

echo $dom->saveXml(); 

輸出:

<?xml version="1.0"?> 
<note> 
    <name>david</name> 
    <bio>good man</bio> 
</note>