2011-03-11 96 views
1

我想使用XMLDocument阅读下面的XML,但我没有得到任何成功。我想读取其父节点具有特定键的所有子节点 。就像在下面的情况一样,我只想读取父节点属性为“softdrink”的所有子节点。 我不能使用xpath。LINQ到XML:选择特定的节点值

<root> 
    <food> 
    <drink key="Softdrink"> 
     <coke>$12.50</coke> 
     <lemonade>$12.80</lemonade> 
     <beer>$19.40</beer> 
    </drink> 
    <drink key="hotdrink"> 
     <tea>$11.19</tea> 
     <soup>$18.22</soup> 
    </drink> 
    </food> 
</root> 
+0

您需要转义XML以便我们可以看到它 – tucaz 2011-03-11 12:42:08

+0

只是好奇:是否有一个特定原因导致您无法使用XPath? – 2011-03-11 12:52:25

回答

0

如何像:

IEnumerable<XElement> softDrinks= 
    from item in menu.Descendants("Drink") 
    where item.Attribute("key") == "SoftDrink" 
    select item; 

编辑这已经有一段时间,因为我做的LINQ到XML,但我认为如果你看看@MSDN它会很长的路要走。