我希望在日期更改时更新XML文件状态
if (DateTime.Parse(dsUpdate.Tables[0].Rows[0][1].ToString()) <= DateTime.Now)
{
XDocument xDoc = XDocument.Load(fi.FullName);
XElement upd = (from doc in xDoc.Descendants("sysInfo")
select doc).Single();
upd.Element("Status").Value = "Updated";
xDoc.Save(fi.FullName);
}
我正在使用它但不知何故它不起作用。文件的状态不会随着日期的变化而更新。加载文件后,它会跳转到catch块 没有任何事情发生,状态保持不变。
这是我正在使用的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<System>
<SysInfo>
<InstallDate>2/11/2015 2:26:21 PM</InstallDate>
<UpdateDate>2/12/2015 2:26:21 PM</UpdateDate>
<Status>Installed</Status>
</SysInfo>
</System>
答案 0 :(得分:2)
元素名称区分大小写。使用
XElement upd = (from doc in xDoc.Descendants("SysInfo")
select doc).Single();
或者@JonSkeet提出的建议:
XElement upd = xDoc.Descendants("SysInfo").Single();