我有下面的XML:集元素XML属性值的LINQ
<appsettings>
<add key="MDXQueryDirectory" value="" />
<add key="URLPrefix" value="/Manager" />
</appsettings>
和代码:
XElement doc = XElement.Load(@"config_path");
var element = doc.Elements("add")
.SingleOrDefault(x => x.Attribute("key").Value == "MDXQueryDirectory");
element.SetAttributeValue("value", txtMDXQueryDirectory.Text);
我想将txtMDXQueryDirectory文本数据分配给MDXQueryDirectory appSsetting。首先我使用Single
方法,但它不工作,我研究谷歌我发现这page所以错误解决相关的文章。但知道SingleOrDefault
方法不起作用。它抛出NullPointerException (Object reference not set to an instance an object)
我该如何解决问题,或者你可能会建议不同的习语在xml中设置数值数据?
“doc”或“doc.Elements(”add“)”或“x.Attribute(”key“)”对象是否为空?你检查过了吗? –
大的可能性Lİnq查询没有找到正确的xml节点。以下代码示例提供了您的问题答案。但代码仍然无法正常工作。 –
请检查我提到的所有3件事情,看看究竟是什么原因造成的异常。到目前为止,您没有任何安全检查。 –