c# - LinqToXML : Getting elements with given value

标签 c# linq linq-to-xml

我有这个 xml 文件:

<objects>
  <object> 
    <value>test</value>
  </object>
  <object> 
    <value>foo</value>
  </object>
  <object> 
    <value>bar</value>
  </object>      
</objects>

现在,我想查询这个 xml,并检索值元素中的文本 = "foo"的所有对象元素

有没有简单的方法可以做到这一点?

我试过这样的:

var objects = from e in xml.Elements("value")
              where e.Value.Equals("foo", StringComparison.OrdinalIgnoreCase)
              select e.parent;

那行不通..

最佳答案

我觉得你在找

xml.Descendants("value")

xml.Elements() 只返回子元素...如果 xml 是您的根 XDocument,它不会返回任何内容。

关于c# - LinqToXML : Getting elements with given value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/783011/

相关文章:

c# - 如何使用 XDocument linq 查询查询站点地图

c# - 将WITH ROLLUP SQL 语句转换为LINQ

c# - LINQ to XML 到 POCO 对象

c# - 将文件从 Azure Blob 同步到本地

c# - 如何防止 Selenium C# 中 PageFactory 中的 StaleElementReferenceException?

c# - 如何在一行中合并多个数据表(每个数据表返回一行)

c# - 你调用的对象是空的。尝试将 XML 放入列表

c# - 使用 XDocument 和 XPath 解析 xml

c# - 如果使用存储过程,则对 Entity Framework Core 2.0 进行单元测试

c# - 通过在 XNA 中滑动平面进行碰撞检测