将值保存到xml文件 - 发生错误

时间:2013-04-11 01:57:32

标签: c# xml

当我尝试将值保存到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>

1 个答案:

答案 0 :(得分:0)

在你的评论中,你说在示例中以值nodes.attributes["value"].Value表示小写“v”,它是大写的大写。 Linq to XML区分大小写,请确保代码中的属性名称与文件中的属性名称完全匹配。