2012-11-26 49 views
0

我試圖從PHPXML創建素文字工作不

$xml = new DOMDocument(); 
$xml->load("recv.xml") or exit("not loaded"); 
$xml_album = $xml->createElement("Album"); 
$xml_track = $xml->createElement("Track"); 
$xml_album->appendChild($xml_track); 
$xml->appendChild($xml_album); 
$doc->save('recv.xml'); 

這是我的腳本創建XML的頁面,但它不工作 我是否需要包括對任何文件。幫我

編輯,根據評論錯誤描述;

DOMDocument::load() [function.DOMDocument-load]: 
Start tag expected, '<' not found 
+7

「不工作」還不足以繼續,你會得到什麼錯誤信息? –

+0

DOMDocument :: load()[function.DOMDocument-load]:預計開始標記,'<'未找到 – user1803098

+1

看起來像您的'recv.xml'包含格式不正確的XML。 –

回答

1

您應該創建一個新的新文檔,而不是加載現有的不正確形成的文檔。

$xml = new DOMDocument(); 
//$xml->load("recv.xml") or exit("not loaded"); - do not load the existing document!!!! 
$xml_album = $xml->createElement("Album"); 
$xml_track = $xml->createElement("Track"); 
$xml_album->appendChild($xml_track); 
$xml->appendChild($xml_album); 
$xml->save('recv.xml'); 

XML不允許有多於一個根節點,所以如果你正在使用<Album>爲根,打開現有的文檔,並增加一個根節點也會產生誤差。

+0

$ xml = new DOMDocument(); \t $ xml_album = $ xml-> createElement(「Album」); \t $ xml_track = $ xml-> createElement(「Track」); \t $ xml_album-> appendChild($ xml_track); \t $ xml-> appendChild($ xml_album); \t $ doc-> save('recv1.xml');但它仍然無效........沒有recv1.xml創建 – user1803098

+0

您使用變量'$ doc',而不是'$ xml' - - > $ doc-> save(...),它應該是$ xml-> save(...) –

+0

非常感謝它,它工作得很好 – user1803098