C#按另一个节点选择XML节点

时间:2017-12-31 13:18:42

标签: c# .net xml

我是编程中的XML新手,所以我需要帮助这个:

我有一个像这样的XML文件:

<?xml version="1.0" standalone="yes"?>
<contestants>
  <fighter>
    <Name>Ryu</Name>
    <Folder>ryu</Folder>
  </fighter>
  <fighter>
    <Name>Ken</Name>
    <Folder>ken</Folder>
  </fighter>
  <fighter>
    <Name>M. Bison</Name>
    <Folder>m_bison</Folder>
  </fighter>
  [...]
</contestants>

现在我想根据名称节点选择文件夹节点,如SQL中所示:

SELECT Folder FROM contestants WHERE Name='Ryu'

最好的方法是什么?我一直在寻找一些答案,但只提供属性的解决方案,而不是节点。

1 个答案:

答案 0 :(得分:1)

尝试以下代码段

  void Main()
{
    XElement root = XElement.Load(@"c:\temp\a.xml");
    var result = root.Elements("fighter")
               .Where(i => (string)i.Element("Name") == "Ryu")
               .Select(i => (string)i.Element("Folder"));
    foreach (var element in result)
    {
        Console.WriteLine(element);
    }
}