我仍然在掌握C#,而且我一直在寻找年龄来尝试找到解决问题的方法。 (这是一个帮助我学习C#的练习项目)
我能够创建并写入XML设置文件,但我很难从中获取数据。
我尝试使用here的最佳答案,但它没有用。
我想从XML文件中获取元素和内部文本,并进入2列圆柱列表(我目前正在使用字典,如果我有/需要,我会打开以更改此字段)
在第一列中,我喜欢元素名称,第二列是内部文本。
我只想写出我创建的列表
XML
<settings>
<view1>enabled</view1>
<view2>disabled</view2>
</settings>
C#
private Dictionary<string, string> settingsList = new Dictionary<string, string>();
private void CreateSettings()
{
XDocument xmlSettings = new XDocument(
new XElement(
"settings",
new XElement("view1", "enabled"),
new XElement("view2", "disabled")))
xmlSettings.Save(FilePath);
}
private void ReadSettings
{
XDocument xmlSettings = XDocument.Load(FilePath);
//READ XML FROM FILE PATH AND ADD TO LIST
}
答案 0 :(得分:3)
您可以使用ToDictionary
方法将设置放入字典中:
settingsList = xmlSettings.Descendants().ToDictionary(x => x.Name, x => x.Value);
答案 1 :(得分:2)
想象一下你有班级
public class Setting
{
public String Name { get; set; }
public String Value { get; set; }
}
然后,您必须执行以下操作才能返回类Setting
var settings = from node in xmlSettings.Descendants("settings").Descendants()
select new Setting { Name = node.Name.LocalName, Value = node.Value };