LINQ-to-XML:选择特定节点值

时间:2011-03-11 12:36:48

标签: c# linq-to-xml

我正在尝试使用XMLDocument阅读下面的xml,但我没有取得任何成功。我想读取所有子节点 其父节点具有特定密钥。就像在下面的情况一样,我只想读取具有属性“softdrink”的父节点的所有子节点。 我不能使用xpath。

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

1 个答案:

答案 0 :(得分:0)

如下:

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

编辑我做Linq To Xml已经有一段时间了,但我想如果你看看@ MSDN它会有很长的路要走。