XMLFlattener.
将XML元素的内容达成到要素属性中。
该变形器提供了一种快速且简单的方法,可以通过指定元素名称或路径将XML元素的任何内容或属性输出为特征属性。可选地,可以从指定元素的祖先的XML属性也可以被获取为FME属性。
XMLFlattener当前不支持多个匹配,因此对于从源XML生成多个功能,请使用XMLFragmenter。
输入端口
输入功能包含XML文档信息。
输出端口
每个功能都包含从XML元素展平的属性。
参数
XML源码
从列表中选择选择该选择的相应参数:
- XML文件:启用XML文件字段。
- XML属性:启用XML属性字段。
平坦的路径
此参数指定要趋平的元素。展平路径是空白分离的XFMAP匹配表达式,或者可以在新行上指定每个表达式。有关更多信息,请参阅FME读者/作家手册:XML(可扩展标记语言)阅读器/编写器> XFMAP。
直接在文本框中输入或单击“浏览”按钮以显示编辑器或选择设置为属性值选择包含元素表达式的功能属性。
特征路径是空白分离的XFMAP匹配表达式。有关更多信息,请参阅FME读者/作家手册:XML(可扩展标记语言)阅读器/编写器> XFMAP。
示例:Input.xml.
John Smith Orterperson> ola nordmann name> <地址> langgt 23 地址> 4000 stavanger city> 挪威 country> shipto> <项目ID =“1”状态=“挂起”> <标题> empire bulluleque title> 特殊版本 note> <数量> 1 数量> 10.90 价格> item> - <标题>隐藏您的心脏 title> <数量> 1 数量>
9.90 price> item> 运输设备>
此表列出了上面示例中所示的一些展平路径XFMAP表达式。
“OrderPerson” | 将OrderPerson元素的文本内容添加到OrderPerson Feature属性中 |
“运送到” | 将Shipto元素的子项的文本内容添加到以下功能属性中:名称,地址,城市和国家/地区。 |
“项目[@ id = 1]”或等效<项目id =“1”> | 这与名为的文档中的元素匹配,其属性ID等于1.它将子项的文本内容添加为特征属性:标题,注意,数量和价格。 |
“OrderPerson Shipto |
三个以前的匹配表达式组合,每个表达式由换行符分开。 |
自定义属性
可以指定此参数以将匹配元素的子作为XML片段中的子项提取。
例如,如果要匹配的元素是运送到和元素作为XML片段被设定为国家然后,输出功能具有额外的属性“xml_fragment_country {0}”,其值设置为“
“选项”按钮打开XML平坦选项对话框。这些选项控制如何将元素的内容映射为特征属性。
默认视图是基本模式,其中列出了多个选项:
- 默认情况下选择启用平整化。
- 忽略特定的子元素>子元素忽略:指定应忽略的匹配元素的子项(来自扁平路径)。在上面的示例中,如果扁平路径为“shipto”,则如果此选项设置为“Country City”,则输出中忽略了国家和城市内容。
- 跳过空元素:指定是否应将空元素映射为空功能属性
- 添加自定义前缀>前缀:为将从扁平XML结构中添加的所有功能属性指定前缀
- 包括XML子位置>属性名称:指定其值将成为其父级中子元素的位置的属性名称。
- 添加祖先属性>祖先元素:指定扁平路径中的元素的父元素,其XML属性也将作为输出中的功能属性添加。
“高级”按钮打开“高级编辑器”,它提供了用于自定义要素属性的其他选项。每个选项的功能在下表中描述。此处的选项允许自定义将添加到FME功能的匹配XML子树的属性和属性列表。
选项(具有示例性值) | 描述 | 默认值 | 可能的价值 |
---|---|---|---|
分离器=“。” |
此选项的此值用作分隔符在命名匹配元素的子项的属性中。 |
时期 (。) |
任何字符串 |
open-list-brace =“{” |
指定扁平属性的“打开列表索引分隔符支架”。 |
默认值如果未指定:{ |
任何字符串 |
关闭列表 - Brace =“}” |
指定扁平列表索引分隔符支架的扁平属性。 |
默认值如果未指定:} |
任何字符串 |
Map-空元素=“是” |
如果设置为是,则任何空元素将作为具有空值的属性添加到特征上。否则,不会将属性添加到特征上。 |
默认值如果未指定:是的 |
是的不 可能的值:任何字符串 |
匹配 - 前缀=“属性” |
此选项控制生成的FME功能属性是否以匹配的元素的名称为前缀。 如果值为yes,则匹配元素的属性和其所有子项都是前缀的 如果值为否,则没有匹配元素名称的任何一个特征属性都不是前缀 如果该值是儿童,那么只有匹配元素的子项是前缀的 如果值为属性,则只有匹配元素的属性是前缀的。 |
默认值如果未指定:是的 |
是的不|儿童|属性 |
匹配 - 属性=“是” |
如果此选项设置为YES,则匹配元素的属性被映射为FME功能属性。否则,忽略匹配元素的属性。 匹配 - 前缀选项也可以设置为属性或是,以允许属性以匹配元素的名称为前缀。 |
默认值如果未指定:是的 |
是的不 |
匹配 - 祖先attributes =“” |
该选项控制来自匹配元素的祖先的XML属性是否应包含为FME功能属性。 - “父”或“1”:添加匹配元素的父级的XML属性 - '祖父母'或'2':添加匹配元素的祖父母的XML属性 - “root”或'-1':添加文档根的XML属性 - 添加任何非负数:通过从匹配元素上升起x级别来添加祖先的XML属性。0是匹配的元素。 要包含多个祖先,可以通过空格分隔多个值。 例如:要从root,父和大父父级获取属性,我们可以指定 匹配 - 祖先 - 属性=“父grandparent root” |
父母|祖父母|根 |
|
Cardinality =“+ {?}” |
此选项可以指定为空间分隔的基数指令列表。 |
默认值:+ {?}(如果有多个具有相同名称的人则将子元素视为列表) |
可能的值:请参阅XML阅读器文档中的XFMAP部分。 |
除了=“” |
除了除以映射规则的匹配或除属性之外,除了属性之外会接受与匹配项相同类型的表达式。 例如,除=“父/子{2}”之外的表达式可以用于排除从结构放置的输出中包含在 |
任何路径表达式 |
|
结构 - 前缀=“” |
此选项可以设置为非空字符串,该字符串用作对匹配元素生成的每个属性的前缀。 |
任何字符串 |
|
child-position-attribute =“” |
当此选项设置为非空字符串时,每个子元素将生成一个附加功能属性,其值将成为其父元素中的子元素的位置。 |
任何字符串 |
|
属性 - 标识符=“” |
XML属性可以与叶元素区分开来。通过将此选项设置为非空字符串,XML读取器将为叶子元素中的属性附加前缀。 |
所有选项都有更详细的示例和描述FME读者/作家手册:XML(可扩展标记语言)阅读器/作家。
暴露属性
暴露任何属性,以便其他变换器可以使用它们。直接在文本框中输入或单击“浏览”按钮以显示编辑器并在那里添加属性。
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来分配变压器参数。一些变压器也可提供更高级的功能,例如高级编辑器和算术编辑器。要访问这些选项的菜单,请单击除适用的参数旁边。有关更多信息,请参阅变换器参数菜单选项。
变压器类别
搜索FME知识中心
搜索有关此变压器的样本和信息FME知识中心。