2009-11-12 61 views
0

每一次新的內容我做DOM在PHP節省了舊文件

$country = $this->dom->saveXML(); // put string in country 
$this->dom->save('country.xml'); 

它delets的country.xml,並創建一個新的 country.xml 我怎麼能將舊內容country.xml添加到新內容中並將其另存爲country.xml

+0

你會得到多少文件? – 2009-11-12 19:25:34

+1

你必須改寫你的問題,因爲它是沒有太大意義的,尤其是那個部分:「我怎樣才能將舊內容寫入新內容」 - 這是什麼意思? – 2009-11-12 19:26:12

+0

hmm .. image你有文件country.xml與一些國家,你現在獲取其他一些東西,如果你保存這個,舊的內容將被覆蓋,只是你所提取的將在country.xml文件中,我怎麼能防止? – streetparade 2009-11-12 19:32:52

回答

1

而不是試圖將其追加到文件中,你有沒有考慮追加將新數據添加到現有的「舊」DOM,然後將其保存到country.xml?這樣可以保持文檔的一致性和有效性。

+0

沒有一個ididnt,有沒有辦法做到這一點?如果是的話 – streetparade 2009-11-12 20:08:01

+0

如果你使用'$ this-> dom = domxml_open_file('country.xml')',它會從文件中創建一個新的DOM,然後你可以隨意添加它。 – Sean 2009-11-12 20:10:00

+0

嗯..我怎麼能把舊文件的內容到數組?如果我可以這樣做,我可以在foreach循環中編寫新的xml,這很容易 – streetparade 2009-11-12 20:17:44

0

如果我理解正確,那麼您希望將新的XML附加到舊文件的末尾?這是XML有點不尋常,但你可以簡單地通過書面形式向使用

file_put_contents('country.xml', $country, FILE_APPEND); 

的文件,而不是做

$this->dom->save('country.xml'); 
+0

是的,你已經理解我的問題。但是,舊的XML將不會有效 – streetparade 2009-11-12 19:38:19

+0

如果我做你寫的我每次更新文件的新內容<?xml version =「1.0」?>和多個<?xml version =「1.0」? > 在xml文件中是無效的xml。 – streetparade 2009-11-12 19:42:58