C# 使用LINQ到XML匹配更深层次的子元素?

C# 使用LINQ到XML匹配更深层次的子元素?,c#,linq-to-xml,descendant,C#,Linq To Xml,Descendant,假设我有以下XML文件: <?xml version="1.0" encoding="UTF-8"?> <response> <project> <ixGroup>105</ixGroup> <sGroup>Place Group</sGroup> </project> <project> ... 如果同一个xml文件有一个额外的元素,如下面添加的:

假设我有以下XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <project>
    <ixGroup>105</ixGroup>
    <sGroup>Place Group</sGroup>
  </project>
  <project>
    ...
如果同一个xml文件有一个额外的元素,如下面添加的

<response>
  <projects>
    <project>
      <ixGroup>105</ixGroup>
      <sGroup>Place Group</sGroup>
    </project>
    <project>
      ...

105
地点组
...

如何修改上面的LINQ代码以仍然访问
元素?

您根本不需要修改代码。
subjects
方法将在树的最下面搜索,以找到匹配的元素,这可能是一种诅咒,也可能是一种祝福。在您的情况下,即使您添加了中间
节点,所编写的代码仍将继续工作


(仅搜索直接子方法的方法是
Children()

您根本不需要修改代码。
子体
方法将在树的最下方搜索,以查找匹配的元素,这可能是一种诅咒,也可能是一种祝福。在您的情况下,即使您添加了一个中间的
节点,编写的代码仍将继续工作


(仅搜索直接子方法的方法是
Children()

元素只搜索子节点,但子节点会一直向下移动。换句话说,您不必做任何事情。

元素只搜索子节点,但子节点会一直向下移动。换句话说,您不必做任何事情。

您不必做任何事情。我刚刚测试了它,并且您的当前版本LINQ语句仍将返回所有
元素,无论它们是否嵌套在
元素中。

您不必这样做。我刚刚测试了它,您当前的LINQ语句仍将返回所有
元素,无论它们是否嵌套在
元素中

<response>
  <projects>
    <project>
      <ixGroup>105</ixGroup>
      <sGroup>Place Group</sGroup>
    </project>
    <project>
      ...