.net XElement XPathSelectElements C#不';我不工作

.net XElement XPathSelectElements C#不';我不工作,.net,linq-to-xml,.net,Linq To Xml,我有一个x <projects><project><id>2</id><name>Project A</name></project> <project><id>7</id><name>Blue-Leafed Project B</name></project></projects> 但是result=null 我还尝试稍微更改

我有一个x

<projects><project><id>2</id><name>Project A</name></project>
<project><id>7</id><name>Blue-Leafed Project B</name></project></projects>
但是
result=null

我还尝试稍微更改XPath

result = null;
这有什么问题?

您可以试试这个:

var projects = x.XPathSelectElements("./projects/project");
你可以试试这个:

var projects = x.XPathSelectElements("./projects/project");

最可能发生的情况是,您将文档作为
XElement
加载,因此
x
已经引用根节点
项目
。您的查询必须与该节点相关,并且该节点显然没有
projects
子节点。您正在尝试选择与
项目
节点相关的子
项目
元素,因此您的查询应该是:

var projects = x.XPathSelectElements("project");
尽管在本例中,您实际上不需要使用xpath,只需使用
Elements()
方法即可

var projects = x.Elements("project");

通常应该使用
XDocument
对象来加载文档,而不是
XElement
,否则会遇到此类问题

最可能发生的情况是,您将文档作为
XElement
加载,因此
x
已经引用根节点
项目
。您的查询必须与该节点相关,并且该节点显然没有
projects
子节点。您正在尝试选择与
项目
节点相关的子
项目
元素,因此您的查询应该是:

var projects = x.XPathSelectElements("project");
尽管在本例中,您实际上不需要使用xpath,只需使用
Elements()
方法即可

var projects = x.Elements("project");

通常应该使用
XDocument
对象来加载文档,而不是
XElement
,否则会遇到此类问题

没什么。。。顺便问一下:什么是
结果
?什么都没有。。。顺便问一下:什么是
结果