如上所述,XElement.Load
与 XDocument.Load
有何不同?它们都似乎加载一个 XML 文件。
不同之处在于,XElement
类型表示 XML 片段,而 XDocument
类型表示带有所有相关元数据的整个 XML 文档。
话虽如此,对于大多数简单情况,您可以交替使用它们。
重要的是要理解这两种类型之间查询的微妙差别,有关更多信息,建议阅读 查询 XDocument vs. 查询 XElement:
当通过
XDocument.Load
加载文档时,您会注意到必须稍微以不同于通过XElement.Load
进行加载的方式编写查询。
很少有情景需要您创建XDocument。相反,您通常可以创建具有XElement根节点的XML树。除非您有特定要求来创建文档(例如,因为您必须在顶层创建处理指令和注释,或者您必须支持文档类型),否则使用XElement作为根节点通常更方便。
来自XElement和XDocument对象的有效内容。就Load方法而言...它们都将内容加载到各自的对象中。
XElement.Load() 在加载注释时会有所不同,如果使用该方法,则不会加载注释。 而 XDocument.Load() 会获取注释。
因此,在使用 Xlinq 时,我们应该选择使用 XDocument。