2012-05-10 85 views
0

我不知道我的錯誤來自哪裏,我是xml新手,我需要一些幫助。 我想用php編寫一個xml文件。我有下面的PHP代碼:用php編寫xml

<?php 
$xml = array(); 
$xml [] = array( 
'error' => 'ERROR_ID' 
); 

$doc = new DOMDocument(); 
$doc->formatOutput = true; 

$r = $doc->createElement("xml"); 
$doc->appendChild($r); 

$parameters = $doc->createElement("parameters");  
    $error = $doc->createElement("error"); 
$error->appendChild( 
$doc->createTextNode($xml['error']) 
); 
$parameters->appendChild($error); 


$r->appendChild($parameters); 


echo $doc->saveXML(); 
$doc->save("write.xml") 
?> 

我的XML文件應該是這樣的:

<?xml version="1.0"?> 
<xml> 
    <parameters> 
    <error>ERROR_ID</error> 
    </parameters> 
</xml> 

但ERROR_ID文本節點在file.What不顯示出在哪裏?

+0

該問題不在您的XML生成中,它在您的數組索引中。打開PHP的錯誤報告,以便顯示警告,您很快就會發現這種問題。 – Spudley

+0

我不認爲錯誤報告將有助於在這種情況下,因爲語法是完全正確的。 – Jeroen

+0

@JeroenOfferijns嚴格的錯誤報告會給「注意:未定義的索引:錯誤」 – ben

回答

4

第一種選擇:替換此行:

$doc->createTextNode($xml['error']) 

有了這一個:

$doc->createTextNode($xml [0] ['error']) 

第二個選項:替換此行:

$xml [] = array( 

有了這一個:(和刪除第一行)

$xml = array( 
+0

嘿,謝謝它的工作! – Dianna