【问题标题】:Element with any data type任何数据类型的元素
【发布时间】:2013-10-23 10:38:41
【问题描述】:

我正在使用 Biztalk 2010,我需要创建一个架构,问题是该架构的元素可以具有任何数据类型的值。

我的属性具有类型(例如 int,表示为字符串)、名称(例如 Age)和属性值,可以是任何数据类型。

这是我的架构:

Attribute(Root Node)
   Type(element, Datatype: string)
   Name(element, Datatype: string)
   Value(this needs to support every Datatype)

我该怎么做?

【问题讨论】:

  • 也将其设为字符串类型(这应该允许您保存大多数数据)然后,当您需要数据时,根据您的类型元素将其转换为正确的类型。我认为无论如何你都需要转换/转换它。

标签: schema biztalk biztalk-2010


【解决方案1】:

详细说明 TJ Adams 的建议。 对于您的传入架构,将值定义为字符串字段。 然后,当您需要键入它时,使用一个映射,该映射使用带有内联代码的 functoids 或调用外部帮助器类 (1) 以使用 TryParse 方法将其转换为目标模式/系统的正确数据类型。如果它无法将其解析为正确的类型,则返回“INVALID”字符串,然后使用逻辑日期/逻辑数和值映射函数仅在可以解析(2)和格式正确的情况下对其进行映射。 对于输入格式为 CSV 文件且日期可能为多种格式且数字字段也可能为空的客户端,我必须这样做。

(1) 如果您需要为很多字段执行此操作,外部帮助程序类可能更易于维护。 (2) 在没有解析和格式化的情况下仅使用逻辑 Fuctoid 进行尝试可能会导致问题,因为它可能会说它是日期或数字,但它可能不是最终系统的正确格式。如果允许为 NULL,我还传递了一个空白,并使用 INVALID 字符串在验证消息中创建错误。

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多