如上所述,XElement.Load
和XDocument.Load
之间有什么区别?他们似乎都加载了一个XML文件。
答案 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