从 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;
您好,我需要从我的 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;