为了账号安全,请及时绑定邮箱和手机立即绑定

在XDocument的任何深度按名称查询元素

在XDocument的任何深度按名称查询元素

慕仙森 2019-12-17 14:54:54
我有一个XDocument对象。我想使用LINQ在任何深度查询具有特定名称的元素。使用时Descendants("element_name"),我只会得到当前级别的直接子级元素。我要寻找的是XPath中的“ // element_name”等价...我应该只使用XPath,还是可以使用LINQ方法来实现?谢谢。
查看完整描述

3 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

后代应该工作得很好。这是一个例子:


using System;

using System.Xml.Linq;


class Test

{

    static void Main()

    {

        string xml = @"

<root>

  <child id='1'/>

  <child id='2'>

    <grandchild id='3' />

    <grandchild id='4' />

  </child>

</root>";

        XDocument doc = XDocument.Parse(xml);


        foreach (XElement element in doc.Descendants("grandchild"))

        {

            Console.WriteLine(element);

        }

    }

}

结果:


<grandchild id="3" />

<grandchild id="4" />


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 689 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信