2009-11-04 38 views

回答

32

區別在於XElement類型表示一個XML片段,而XDocument類型表示包含所有關聯元數據的整個XML文檔。

然而,這是說,對於大多數簡單的情況下,你可以交替使用它們。

瞭解細微的差別在這兩類對之間和更多信息查詢,我會建議你請閱讀是很重要的Querying an XDocument vs. Querying an XElement

當加載文檔通過 XDocument.Load,你會請注意0​​您必須編寫查詢 與通過XElement.Load加載 時略有不同。

+0

因此在性能方面它們都是相同的 – Ayyash 2009-11-04 23:23:37

+0

另外,如果您打算將生成的XML通過Web發送到某個Web服務,則會提示XDocument。但是你要求'.Load',所以這可能不是你的情況。 – 2009-11-05 12:32:11

9

不會有很多場景是 要求您創建一個XDocument。 相反,您通常可以使用XElement根節點創建您的 XML樹。 除非你有特定的要求 創建一個文檔(例如, 因爲你在上面 級別創建處理 說明和意見,或者您有支持的文檔 類型),它往往是更方便 使用XElement作爲根節點。

直接從Valid Content of XElement and XDocument Objects。就Load方法而言......它們都將內容加載到它們各自的對象中。

+0

我需要加載/修改/保存一些InfoPath表單,並廣泛使用處理指令。在找到這篇文章並切換到XDocument之前,使用XElement給出了令人困惑的結果。 Sooo ...謝謝! – Jasper 2013-02-05 17:45:52

1

是有區別的,同時加載評論它不會在XElement.Load() 的情況下被加載,而XDocument.Load()也將獲得評論

因此,儘管與XLINQ合作,我們應該走的XDocument