我有一个XML文件,具有以下结构:
<Definitions>
<Definition Execution="Firstkey" Name="Somevalue"></Definition>
<Definition Execution="Secondkey" Name="Someothervalue"></Definition>
</Definitions>
Run Code Online (Sandbox Code Playgroud)
如何在我的.NET应用程序中使用C#获取密钥的值(Firstkey,Secondkey)并将其写下来?
谢谢.
使用Linq to XML这很简单.
要获得钥匙:
var keys = doc.Descendants("Definition")
.Select(x => x.Attribute("Execution").Value);
foreach (string key in keys)
{
Console.WriteLine("Key = {0}", key);
}
Run Code Online (Sandbox Code Playgroud)
获取所有值:
XDocument doc = XDocument.Load("test.xml");
var definitions = doc.Descendants("Definition")
.Select(x => new { Execution = x.Attribute("Execution").Value,
Name = x.Attribute("Name").Value });
foreach (var def in definitions)
{
Console.WriteLine("Execution = {0}, Value = {1}", def.Execution, def.Name);
}
Run Code Online (Sandbox Code Playgroud)
编辑以回应评论:
我认为你真正想要的是一个字典,它从一个键("执行")映射到一个值("名称"):
XDocument doc = XDocument.Load("test.xml");
Dictionary<string, string> dict = doc.Descendants("Definition")
.ToDictionary(x => x.Attribute("Execution").Value,
x => x.Attribute("Name").Value);
string firstKeyValue = dict["Firstkey"]; //Somevalue
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13061 次 |
| 最近记录: |