【问题标题】:How to set .NET's DateTime value to XML's date field with BizTalk mapping?如何使用 BizTalk 映射将 .NET 的 DateTime 值设置为 XML 的日期字段?
【发布时间】:2017-09-14 16:19:13
【问题描述】:

我的 BizTalk 映射中有一个 Script functoid,它使用 C# 并创建 DateTime 值,我想将其设置为结果架构的“日期”字段。该字段的类型为“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;
}

当我测试地图时,我得到一个错误

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

我该如何解决这个问题?

【问题讨论】:

  • 返回一个字符串:result.ToString("yyyy-MM-dd"); ?虽然我不明白为什么你有一个有效的字符串,但将它映射到一个 DateTime 然后想知道如何处理添加的时间......
  • 起初我尝试直接使用初始字符串,但看起来我错过了一些东西。现在它工作正常。谢谢

标签: c# datetime biztalk biztalk-mapper


【解决方案1】:

您的流程不正确。但是很容易解决。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 2021-03-26
    • 1970-01-01
    • 2013-04-15
    相关资源
    最近更新 更多