appSettings-like 我的意思是这样,
<appSettings>
<add key="myKey" value="myValue" />
</appsettings>
结果是一个键值集合,我可以像这样访问它:
string v = config["myKey"];
但它不一定位于 app.config 中,所以我拥有的是一个字符串或一个 XmlNode。
NameValueFileSectionHandler.Create方法显然可以完成这项工作,但输入需要两个对象,Object parent,Object configContext,以及一个 xml 节点,我不知道要传递给它们什么。
最佳答案
像这样把一个字符串解析成一个字典,
var xml = XElement.Parse("<appSettings><add key=\"myKey\" value=\"myValue\" /></appSettings>");
var dic = xml.Descendants("add").ToDictionary(x => x.Attribute("key").Value, x => x.Attribute("value").Value);
你可以这样获取值,
var item = dic["myKey"];
你也可以这样修改字典中的值,
dic["myKey"] = "new val";
并且您可以使用此代码将修改后的字典转换回 XElement,
var newXml = new XElement("appSettings", dic.Select(d => new XElement("add", new XAttribute("key", d.Key), new XAttribute("value", d.Value))));
关于c# - 是否有辅助方法来解析类似 appSettings 的 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225343/