Linq 通过属性vlaue从xml获取数据

Linq 通过属性vlaue从xml获取数据,linq,linq-to-xml,Linq,Linq To Xml,我有一个包含以下内容的文件(myfile.xml)。我必须获取id为1的产品(包括产品节点)下的所有内容 <products> <product id="1"> <category>q</category> </product> <product id="2"> <category>w</category> </pr

我有一个包含以下内容的文件(myfile.xml)。我必须获取id为1的产品(包括产品节点)下的所有内容

<products>  
  <product id="1">
       <category>q</category>  
  </product>    
  <product id="2">      
       <category>w</category>    
  </product>   
  <product id="3">       
  <category>e</category>   
 </product>
</products>`

Q
W
E
`
i、 e.结果应为:

 <product id="1"> 
      <category>q</category>
  </product> 

Q
我如何才能做到这一点?

使用

var root = XElement.Load("path to the file");
var node = root.Descendants("product").FirstOrDefault(e=>e.Attribute("id").Value == "1");
随访
var root = XElement.Load("myfile.xml");  
root.XPathSelectElements( "/products/product[@id=1]");