如何使用BizTalk映射将.NET的DateTime值设置为XML的日期字段?

时间:2017-09-14 16:19:14

标签: c# datetime biztalk biztalk-mapper

我的BizTalk映射中有Script functoid,它使用C#并创建DateTime值,我想将其设置为" date"结果模式的字段。此字段的类型为" xs:date"

Functoid的代码:

public DateTime GetValue()
{
    string[] dateArray = "2017-06-19".Split('-');
    DateTime result = new DateTime(int.Parse(dateArray[0]), int.Parse(dateArray[1]), int.Parse(dateArray[2]));
    return result;
}

当我测试地图时,出现错误

  

"' date'元素无效 - 值' 2017-06-19T00:00:00'是   根据其数据类型无效   ' http://www.w3.org/2001/XMLSchema:date' - 字符串   ' 2017-06-19T00:00:00'不是有效的日期值。"

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的过程不正确。但这很容易解决。

您需要使用TryParseExact()将字符串格式转换为有效的DataTime实例。

然后,使用ToString()和“o”Format String发出xs:date兼容字符串。