Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';XElement.Load和XDocument.Load之间的区别是什么?_C#_Xml_Linq - Fatal编程技术网

C# 什么';XElement.Load和XDocument.Load之间的区别是什么?

C# 什么';XElement.Load和XDocument.Load之间的区别是什么?,c#,xml,linq,C#,Xml,Linq,如上所述,XElement.Load和XDocument.Load之间有什么区别?它们似乎都加载了一个XML文件。不同之处在于XElement类型表示一个XML片段,而XDocument类型表示一个包含所有相关元数据的完整XML文档 尽管如此,对于大多数简单的情况,您可以互换使用它们 了解这两种查询类型之间的细微差异非常重要,有关这方面的更多信息,我建议您阅读: 当您通过加载文档时 XDocument.Load,您会注意到 您必须编写查询 与您在 通过XElement.load加载 没有太多的情

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

不同之处在于
XElement
类型表示一个XML片段,而
XDocument
类型表示一个包含所有相关元数据的完整XML文档

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

了解这两种查询类型之间的细微差异非常重要,有关这方面的更多信息,我建议您阅读:

当您通过加载文档时
XDocument.Load
,您会注意到 您必须编写查询 与您在 通过
XElement.load加载

没有太多的情况会发生这种情况 要求您创建XDocument。 相反,您通常可以创建 具有XElement根节点的XML树。 除非你有特殊要求 要创建文档(例如, 因为您必须创建处理 顶部的说明和注释 级别,否则您必须支持文档 类型),通常更方便 使用XElement作为根节点


直接从。至于加载方法……它们都将内容加载到各自的对象中。

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


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

,如果要通过web将生成的XML发送到某些web服务,建议使用XDocument。但是您要求
.Load
,因此这可能不是您的情况。我需要加载/修改/保存一些InfoPath表单,它们大量使用了处理说明。在我找到这篇文章并切换到XDocument之前,使用XElement会产生令人困惑的结果。所以。。。谢谢