2012-05-10 39 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