值映射功能点

如果值映射 functoid 的第一个参数为 true,则返回其第二个参数的值。 functoid 的常见用途是将字段属性转换为记录属性。 若要通过将多个记录转换为单个记录来平展输入消息的一部分,请使用 值映射(平展)Functoid

下图显示了一个图,其中使用值映射函数,用于将字段的属性更改为记录的属性。

该图像显示了使用值映射功能块将字段的属性更改为记录属性的地图。
值映射 Functoid 映射

以下代码显示了一条输入实例消息,其中名称和值的配对被分配给 NameValue 属性。

<ns0:Root xmlns:ns0="http://ValueMapping.WeatherIn">  
    <Record>  
        <Field Name="WindSpeed" Value="5"/>   
        <Field Name="Temperature" Value="20" />  
    </Record>  
    <Record>  
        <Field Name="WindSpeed" Value="15" />  
        <Field Name="Temperature" Value="18" />  
    </Record>  
</ns0:Root>  

前面的映射可以将此消息转换为一个值,这些值将分配给具有单独记录中相应名称的属性。

<ns0:Root xmlns:ns0="http://ValueMapping.WeatherOut">  
    <Record WindSpeed="5"/>  
    <Record Temperature="20"/>  
    <Record WindSpeed="15"/>  
    <Record Temperature="18"/>  
</ns0:Root>  

Equal functoid 测试 Name 属性的值。 第一个 Equal functoid 测试 Name 是否为“WindSpeed”的值。当 Name 是“WindSpeed”时,第一个 Equal functoid 返回 True。 这反过来又允许 值映射 functoid 在输出实例消息中设置 WindSpeed 属性的值。

禁止创建空标记

若要抑制空标签,请使用“值映射”功能控件来控制是否创建标签。 如果该值的计算结果为 true,则会创建目标字段;否则不会创建目标字段。 在循环方案中,使用逻辑 functoid 并将其连接到目标记录或字段。 如果条件的计算结果为 false,则不会创建标记。 有关示例,请参阅 条件循环

强制创建空标记

若要强制创建空标记,可以在目标字段的 Value 属性中添加值,或将 Concatenate functoid 链接到目标字段。 在 BizTalk Server 中,可以通过在目标字段的 Value 属性中选择“<空>”值来强制生成空标记。 在这种情况下,将使用空值创建字段。

另请参阅

值映射扁平化功能体
如何向映射中添加值映射功能块
高级功能元件