将xml转换为字典错误
本文关键字:字典 错误 转换 xml | 更新日期: 2023-09-27 17:53:55
以前也有人问过类似的问题,但我找不到问题的答案。
我想使用linq xml函数将我的config.xml设置转换为字典,但总是得到Possible System.NullReferenceException
。因此,我需要检查属性及其值是否存在。
用什么语法?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<Services>
<add key ="key1" value ="value1"></add>
<add key ="key2" value ="value2"></add>
<add key ="key3" value ="value3"></add>
</Services>
</configuration>
my lambda code:
XDocument doc = XDocument.Load(configFilePath);
var d = (from name in doc.Descendants("Services") select name)
.ToDictionary(n => n.Attribute("key")
.Value, n.Attribute("value")
.Value);
用Descendants("add")
代替Descendants("Services")
var dict = XDocument.Load(configFilePath)
.Descendants("add")
.ToDictionary(n => n.Attribute("key").Value, n=> n.Attribute("value").Value);
var dict = XDocument.Load(configFilePath)
.Descendants("Services").First()
.Descendants("add")
.ToDictionary(n => n.Attribute("key").Value, n=> n.Attribute("value").Value);