2011-08-15 61 views
0

此腳本創建一個包含原始數據的新X​​ML文件,但沒有更新。PHP腳本保存xml而不更新

<?php 

$dom = new DOMDocument(); 
$dom->load('communities.xml'); 

$dom->preserveWhiteSpace = false; 
$dom->formatOutput = true; 

// get document element 

$root = $dom->documentElement; 

$name  = $dom->createElement("NAME"); 
$nameText = $dom->createTextNode("Hobbies"); 
$name->appendChild($nameText); 

$community = $dom->createElement('COMMUNITY'); 
$community->appendChild($name); 
$dom->save('communities.xml'); 

$tidy_options = array(
       'input-xml' => true, 
       'output-xml' => true, 
       'indent'  => true, 
       'wrap'   => false, 
     ); 
$tidy = new tidy(); 
$tidy->parseFile('communities.xml', $tidy_options); 
$tidy->cleanRepair(); 
echo $tidy; 

return; 

?> 

權限是正確的,因爲文件格式被修改,文件被保存一個新的日期。

+0

究竟是什麼問題呢? –

回答

1

它看起來像你缺少一些附加聲明,即which'll輸出:

$root->appendChild($name); 
... 
$root->appendChild($community); 
+0

是的,我缺少'$ root-> appendChild($ community);'。謝謝。 – user823527

0

該文件可能會被修改並有一個新的日期,但你正在做兩個保存操作,可能只有整潔的一個實際上是在做任何事情。嘗試:

if ($dom->save('communites.xml') === FALSE) { 
    die(libxml_get_errors()); 
} 

任何DOM錯誤

0

創建元素後,必須將它們添加到該文件:

$community = $dom->createElement('COMMUNITY'); 
$root->appendChild($community);