Linq查询从xml访问数据

时间:2012-04-28 18:50:22

标签: c# linq linq-to-xml

我有一个XML文件,其中包含一些像

这样的元素
 <root>
    <gp>
      <i>1</i>
      <i>3</i>
      <i>5</i>
    </gp>
    <gp>
      <i>5</i>
      <i>6</i>
    </gp>
     . 
     . 
 </root>

现在我想编写一个查询,通过该查询,我将获得包含值{5的gp元素的所有<i>个元素?`

1 个答案:

答案 0 :(得分:2)

var results = from gp in doc.Descendants("gp")
              where gp.Elements("i").Any(i => (int)i == 5)
              select gp

基于方法的语法:

var results = doc.Descendants("gp").Where(gp => gp.Elements("i").Any(i => (int)i == 5));