Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从xml访问数据的Linq查询_C#_Linq_Linq To Xml - Fatal编程技术网

C# 从xml访问数据的Linq查询

C# 从xml访问数据的Linq查询,c#,linq,linq-to-xml,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> . . </

我有一个包含如下元素的XML文件

 <root>
    <gp>
      <i>1</i>
      <i>3</i>
      <i>5</i>
    </gp>
    <gp>
      <i>5</i>
      <i>6</i>
    </gp>
     . 
     . 
 </root>

1.
3.
5.
5.
6.
. 
. 
现在我想写一个查询,通过它我将获得所有
gp
元素,其中包含值为5的
元素`

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));

Ienumerable variable=document.Elements(“gp”)。其中(p=>p)。现在我被卡住了,因为这里我们还必须迭代元素。我认为最好使用
i.value==“5”
,我认为不能将XElement转换为int。@ErikPhilips:可以,试试看out@ErikPhilips:是的,您可以。而且不仅限于int: