2012-05-10 17 views
0

私はどこから来ているのかわからない、私はxmlを初めて使ったので、助けが必要だ。 PHPを使ってxmlファイルを書きたいと思います。xmlをPHPで書く

<?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> 

が、file.Whatに表示されないERROR_IDテキストノードが間違っていた私は、次のPHPコードがありますか?

+0

問題はXML生成ではなく、配列のインデックスにあります。 PHPのエラー報告をオンにして警告を表示すると、すぐにこの種の問題が発生します。 – Spudley

+0

構文が完全に正しいので、エラー報告がこの場合に役立つとは思わない。 – Jeroen

+0

@ JeroenOfferijnsより厳しいエラー報告は "Notice:Undefined index:error"を返すだろう – ben

答えて

4

最初のオプション:このいずれかで

$xml [] = array( 

:この行を置き換える:

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

番目のオプション:このいずれかで

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

:この行を置き換え(および削除最初の行)

$xml = array( 
+0

Hei、ありがとう! – Dianna