回答
最快最快,最快還是最快?例如:
XDocument doc1 = XDocument.Load(...);
XDocument doc2 = XDocument.Load(...);
// Copy the root element of doc2 to the end of doc1
doc1.Root.Add(doc2.Root);
doc1.Save(...);
或者,你可以希望:
// Copy the *contents* of the root element of doc2 to the end of doc1
doc1.Root.Add(doc2.Root.Descendants());
如果你能更精確地瞭解您的需求,我們也許能幫助更多。請注意,XML文檔只能有一個根元素,因此您不能只將一個文檔放在另一個文檔之後。
我的意思是效率明智,但這是一個優雅的解決方案。 – dotnetdev 2012-02-13 10:34:52
@dotnetdev:那麼試試看,看看它是否足夠有效,你想做什麼。在測試簡單版本之前,不要開始編寫更高效但更少可讀的代碼。 – 2012-02-13 10:36:13
我懷疑你將能夠使用XML類來做到這一點。 XML庫通常旨在防止您創建格式錯誤的XML,並且兩個XML文檔的連接將會很差,因爲文檔節點將有兩個子元素。
如果.Net庫確實允許你這樣做,我建議你將它作爲一個錯誤提升。
var xml = new XmlDocument();
xml.AppendChild(...);
xml.PrependChild(...);
如果你真的要添加的最快方法是逐行讀取文件的第一行,並把它添加到第二個文件第二根節點。這是一個非常骯髒的方式,你會得到一個無效的 xml文件!
System.IO.StreamWriter file1 = System.IO.File.AppendText(path);
System.IO.StreamReader file2 = new System.IO.StreamReader(path2)
while(!file2.EndOfStream)
{
file1.WriteLine(file2.ReadLine());
}
file1.Close();
file2.Close();
我甚至不喜歡這個解決方案!
- 1. PHP拉,轉換成XML,並追加到現有的XML文檔
- 2. 如何從XML文檔節點追加對現有的XML文檔
- 3. 將XML文檔附加到現有文檔中
- 4. 的NullReferenceException追加孩子的XML文檔
- 5. 寫入到現有的XML文檔
- 6. 將XML父節點插入到現有的xml文檔中
- 7. c#將現有的XML文檔與Linq複製到XML
- 8. Sedna:將XML文件添加到文檔
- 9. 呈現xml文檔
- 10. 將節點添加到現有的XML文檔中
- 11. 插入從XML文檔的XML元素添加到其他的XML文檔
- 12. XML:將xml文檔附加到另一個文檔的節點中
- 13. 如何將xml文檔添加到java中的另一個xml文檔中
- 14. 將來自兩個XML文檔的節點附加到一個XML文檔中
- 15. XQuery:將XML文檔插入到第二個XML文檔中
- 16. 的xml文檔
- 17. Golang:將文件追加到現有的tar歸檔文件
- 18. 加載XML文檔
- 19. 加載XML文檔
- 20. 向XML文檔追加多個類似的XML節點
- 21. 將註釋添加到XML文檔
- 22. 將屬性添加到xml文檔
- 23. 如何將xmlns添加到xml文檔?
- 24. XSL到XML文檔
- 25. 將數據附加到帶有DOM文檔的xml文件
- 26. 有外部引用的xml文檔
- 27. 數據集 - > XML文檔 - 將數據集加載到XML文檔 - C#.net
- 28. 將xml文本結構添加到xml文檔中
- 29. 插入XML節點和內部節點到現有的XML文檔中的C#
- 30. 通過xml文檔中的內部文本找到xml節點
我嘗試了一些與節點等工作的東西,但喬恩的建議(下面)是更可讀和明顯的意圖。 – dotnetdev 2012-02-13 10:34:34