我试图更新XML文档中的3条数据,但得到“对象引用未设置为对象的实例”错误。这是在XML文件格式,我试图更新:UPdating XML,获取“对象引用未设置为对象的实例”
<?xml version="1.0" encoding="US-ASCII" standalone="true"?>
<ExportSettings xmlns="CompanyName" ExportName="Data Export" Dataset="TestName">
<General>
<AsOfDate>03/31/15</AsOfDate>
<PriceDate>03/31/16</PriceDate>
</General>
<Source>
<Set>Set Name</Set>
</Source>
</ExportSettings>
这是引发错误的C#代码:
private void btnUpdate_Click(object sender, EventArgs e)
{
try
{
{
string strAsOfDate = dateTimePickerAsOfDate.Text;
string strPriceDate = dateTimePickerPriceDate.Text;
string strSetName = txtboxSet.Text;
XmlDocument doc = new XmlDocument();
doc.Load(strXMLfilepath);
XmlNode General;
XmlNode root = doc.DocumentElement;
General = root.SelectSingleNode("/ExportSettings/General");
General["AsOfDate"].InnerText = strAsOfDate;
General["PriceDate"].InnerText = strPriceDate;
XmlNode Source;
Source = root.SelectSingleNode("/ExportSettings/Source");
Source["Set"].InnerText = strSetName;
doc.Save(strXMLfilepath);
}
}
catch (System.Exception excep)
{
MessageBox.Show(excep.Message);
}
}
任何人都可以看到这个问题?我对XML更新不是很熟悉,所以可能会出现一些基本错误。
哪一行引发异常?你应该能够很容易地调试,看看哪个变量为空。 –
General [“AsOfDate”]。InnerText = strAsOfDate; 另外,引发异常时,strAsOfDate不为空。 – overlook77
当您在该行上放置断点时,“常规”变量是否为空?如果不是,那么“General [”AsOfDate]“失败并返回null,意味着.InnerText将抛出您看到的异常。 –