您好我需要从我的xml文件中提取一个特定的字符串。我怎么能这样做?我搜索过互联网,但无法找到足够让我理解的答案。 ^^
我想使用相应的GameName
获取我的SavePath字符串继承我的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();
答案 0 :(得分:1)
你快到了。只需摆脱 ToString()
,这样它就会返回 XElement
的集合(当然只有一个),然后你可以这样得到它:
var result = str.Elements(“entry”)。&#xA; Where(x =&gt; x.Element(“GameName”)。Value.Equals(search))。Descendants(“SavePath”);&#xA;&#xA; string value = result.First()。Value;& #xA; 代码>
&#XA;