当我尝试将值保存到XML文件时,我收到"Object reference not set to an instance of an object."
错误。我已经尝试过一段时间了。我知道它的工作原因是因为我使用相同的代码(略有不同)将其他值保存到此文件中。这是唯一一个不起作用的人。
public void SAVEtxtDestination(string txtFileStuff)
{
XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load("C:\\Users\\fthompson11\\WebFile.xml");
XmlNode root = myXmlDocument.DocumentElement;
var targetKey = "Path";
XmlNode node = root.SelectSingleNode(string.Format("Text[@Key = '{0}']", targetKey));
node.Attributes["Value"].Value = txtFileStuff;
myXmlDocument.Save("C:\\Users\\fthompson11\\WebFile.xml");
}
以下是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<!--This is to write the connection strings, text file location, and report destination.-->
<AdminPaths>
<AdminPath Name="sqlConnection1" connectionString="tacohell" />
<TextPath>
<Text Key="Path" Value="Test3" />
<Text Key="Report" Value="Test2" />
</TextPath>
</AdminPaths>
答案 0 :(得分:0)
在你的评论中,你说在示例中以值nodes.attributes["value"].Value
表示小写“v”,它是大写的大写。 Linq to XML区分大小写,请确保代码中的属性名称与文件中的属性名称完全匹配。