从 xml 文件中读取特定字符串 c#

Read a specific string from an xml file c#

您好,我需要从我的 xml 文件中提取特定的字符串。我该怎么办?我在网上搜索过,但找不到足够具体的答案让我理解。 ^^

我想使用相应的游戏名称获取我的保存路径字符串

这是我的 xml 文件

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Game>
  <entry>
    <GameName>test</GameName>
    <SavePath>C:\Users\allen\Downloads\GameOfLife\GameOfLife\obj\Debug\CoreCompileInputs.cache</SavePath>
    <ExePath>C:\Users\allen\Downloads\GameOfLife\GameOfLife\obj\Debug\GameOfLife.exe</ExePath>
  </entry>
  <entry>
    <GameName>test2</GameName>
    <SavePath>C:\Users\allen\Downloads\GameOfLife\GameOfLife\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs</SavePath>
    <ExePath>C:\Users\allen\Downloads\AdobeAIRInstaller.exe</ExePath>
  </entry>
</Game>

这是我一直在尝试使用的代码

var xmlStr = File.ReadAllText(Properties.Resources.docname);
var str = XElement.Parse(xmlStr);
var result = str.Elements("entry")
    .Where(x => x.Element("GameName").Value.Equals(SelectGame_Combobox.Text))
    .Descendants("SavePath")
    .ToString();

你快到了。只需去掉 ToString(),这样它 returns 就是 XElement 的集合(当然只有一个),然后你可以这样得到它:

var result = str.Elements("entry").
    Where(x => x.Element("GameName").Value.Equals(search)).Descendants("SavePath");

string value = result.First().Value;