XElement.Load和XDocument.Load有什么区别?

时间:2009-11-04 03:34:09

标签: c# xml linq

如上所述,XElement.LoadXDocument.Load之间有什么区别?他们似乎都加载了一个XML文件。

3 个答案:

答案 0 :(得分:32)

区别在于XElement类型表示XML片段,而XDocument类型表示包含所有关联元数据的整个XML文档。

尽管如此,对于大多数简单的情况,您可以互换使用它们。

了解这两种类型之间查询的细微差别非常重要,有关这方面的更多信息,我建议您阅读Querying an XDocument vs. Querying an XElement

  

通过加载文档时   XDocument.Load,你会注意到的   你必须写查询   与你的情况略有不同   通过XElement.Load加载。

答案 1 :(得分:9)

  

情景并不多   要求您创建XDocument。   相反,你通常可以创建你的   具有XElement根节点的XML树。   除非您有特定要求   创建文档(例如,   因为你必须创建处理   顶部的说明和评论   级别,或者您必须支持文档   类型),它往往更方便   使用XElement作为根节点。

直接来自Valid Content of XElement and XDocument Objects。就加载方法而言......它们都将内容加载到各自的对象中。

答案 2 :(得分:1)

加载注释时存在差异,在XElement.Load()的情况下不会加载注释 而XDocument.Load()也将获得评论

因此,在使用Xlinq时,我们应该使用XDocument