我的应用程序中有以下代码从 xml 文件中读取日期时间:
private void getConfig()
{
XDocument xdocument = XDocument.Load(@"C:\Salesforce\SFDIAuto\config.xml");
IEnumerable<XElement> tasks = xdocument.Elements();
foreach (var task in tasks)
{
IEnumerable<XElement> query = task.Elements("Triggers").Elements("CalendarTrigger");
foreach (XElement result in query)
{
CalendarTrigger[0] = (result.Element("Next").Value != "") ? Convert.ToDateTime(result.Element("Next").Value).ToString("MM/dd/yyyy HH:mm:ss") :
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
dScanDate.Value = Convert.ToDateTime(CalendarTrigger[0]);
dScanTime.Value = Convert.ToDateTime(CalendarTrigger[0]);
CalendarTrigger[1] = (result.Element("Last").Value != "") ? Convert.ToDateTime(result.Element("Last").Value).ToString("dd/MM/yyyy HH:mm:ss") : "";
CalendarTrigger[2] = result.Element("Result").Value;
CalendarTrigger[3] = "Ready";
if (Convert.ToDateTime(result.Element("Next").Value) < DateTime.Now)
CalendarTrigger[3] = "Missed/Overdue";
CalendarTrigger[4] = result.Element("ScheduleByDay").Element("DaysInterval").Value;
xml 配置文件具有以下格式:
<?xml version="1.0" encoding="utf-8"?>
<config>
<Triggers>
<CalendarTrigger>
<Start>2012-07-02T18:00:00</Start>
<Next>2013-11-13T21:00:00</Next>
<Last>2013-11-12T21:00:00</Last>
<Result>Success</Result>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
在我的开发 PC 上,没有错误,但在实时服务器上,此过程总是抛出错误:
字符串未被识别为有效的日期时间。
它正在查看的价值是:
CalendarTrigger[0] = "11/13/2013 21:00:00"
看到它在我的开发电脑上运行良好,我应该怎么做才能找出环境中有什么不同,以及如何重新编码这部分以在任何地方工作?