属性元素(处理多个值)
的xfMap
当我们想要从XML文档流获取信息到FME特性的属性中,并且该信息映射到具有多个值的属性时,我们可以:
- 使用“原语属性”并将多个值附加到一个字符串或中,并使用分隔符
- 使用FME属性列表,或者
- 从多个值中保留一个属性值。
的
多值的选择
当的值类型属性是多值,然后
下面的示例将附加值的分隔符设置为管道字符:
…
还可以在FME特性上创建一个额外的属性,用于计算多值属性中的值的数量。的create-count-attribute时可以使用的可选属性类型属性设置为多值;它的有效值是是的和没有,没有为其默认值。
属性的名称基于在表达序列的
属性的前缀和后缀可以通过count-attribute-name-prefix和count-attribute-name-suffix属性,分别。
这两个count-attribute-name-prefix和count-attribute-name-suffix是可选的属性。的默认值count-attribute-name-prefix是空字符串,而?的默认值为count-attribute-name-suffix是数。的count-attribute-name-suffix当它存在时,不能是空字符串。
列表选项
当的值类型属性是列表,然后输入XML文档流中的一个多值属性将被转换为正在构建的FME特性的属性列表。
单一的选择
属性的默认值类型属性。具有特定名称的属性在FME特性中只能有一个值。
的
例子
下面的示例演示了多个值处理。考虑以下输入XML和xfMap文档:
purchase.xml
- 广播
- 牙刷
- 毛巾
- 肥皂
- 瓶装水
purchase.xmp
下面显示的日志FME的功能构造时purchase.xml和purchase.xmp文档被输入到XML阅读器:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
功能类型:购买- 1999 - 10 - 20
属性:第一项“有值无线电”
属性:item-at-3-(第4项)' has value Soap'
属性:items1'有价值收音机,牙刷,毛巾,肥皂,瓶装水'
属性:items2'有价值收音机:牙刷:毛巾:肥皂:瓶装水'
属性:最后一项“瓶装水有价值”
属性:list-attr{0}' has value Radio'
属性:list-attr{1}' has value牙刷'
属性:list-attr{2}' has value Towel'
属性:list-attr{3}' has value Soap'
属性:list-attr{4}' has value瓶装水'
属性:xml_type'的值为xml_no_geom'
属性:list-attr{0}'被排序
属性:list-attr{1}'被排序
属性:list-attr{2}'被排序
属性:list-attr{3}'被排序
属性:list-attr{4}'被排序
几何类型:未知(0)
+ = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =