XMLUPDATER
此转换器通过执行以下一个或多个操作来修改XML文档:
- 替换XML元素或属性。
- 替换元素或属性的内容。
- 删除XML元素或属性。
- 删除XML元素或属性的内容。
- 重命名元素或属性
- 插入新的元素或属性。
对于每个文档更新,XML路径表达式用于标识要修改的项的位置。请注意,路径可能引用多个项。如果是这样的话,所有项目都将被修改。
对于替换现有项或插入新项的修改,给出了两个指定要添加到文档中的值的参数。这个值可以作为一个简单的文本值给出,或者它可能是一个函数表达式。
这个更新功能提供文档更新操作中使用的属性值。这个文件功能仅用于提供要更新的XML文档。
对于进入更新端口,变压器中列出的所有更新操作将应用于通过文件端口。因此,如果没有功能通过更新港口.
注意,如果文件直接输入变压器参数,它可以通过两种不同的方式进行处理:
- 如果没有文件给出了变压器的特点。将创建一个新功能来存储文档。每个更新都将应用于文档,然后它将通过文件端口。
- 如果文件给出了变压器的特点。每个更新都将应用于文档,然后它将被复制到每个文件在这些特性从变压器输出之前的输入特性。
输入端口
输入功能包含要修改的XML文档。文档可以包含在属性中,直接进入变压器,或包含在属性值引用的文件中。
对于进入此输入端口的每个功能,变压器中列出的每个更新将在通过文件输入端口。这些功能将包含文档更新中使用的属性值。
输出端口
这个文件输入功能将通过这个端口输出。这些功能将包含更新的文档,将存储在结果属性参数中名为的属性中。
参数
此参数用于指定哪些更新功能将修改文档。当此参数设置为属性列表时,文件功能只能由更新为这些属性共享相同值的功能。文档将由具有相同属性值的所有更新功能修改。请注意,如果没有,文档将不会更新更新“分组依据”属性具有相同值的特性提供给变压器。
XML文档
此参数用于指定要修改的XML文档的类型。XML可能来自输入特性(参数值:文本或属性)。或者它可能来自外部文件。(参数值:xml文件)
当XML输入参数设置为文本或属性时,此参数用于指定XML文件。参数可以设置为属性值,或者XML文档可以直接输入到参数中。
当xml输入参数设置为xml文件时,此参数用于指定文件的位置。文件路径可以直接输入参数,或者路径可能来自属性值。
更新
此参数指定要应用于XML文档的修改类型。可能的更新包括:
更新类型 | 描述 |
---|---|
替换 |
XML路径参数引用的每个项都将替换为值参数中给定的值。 |
替换内容 |
XML路径参数引用的每个项的内容都将替换为值参数中给定的值。 |
替换为内容 |
XML路径参数引用的每个项都将替换为其内容。也就是说,节点将被删除,但节点的子节点和文本内容将保留。 |
删除 |
XML路径参数引用的每个项都将从文档中删除。 |
删除内容 |
XML路径参数引用的项的内容将从文档中删除。如果路径引用元素,将删除引用元素的所有子元素和文本内容,属性将不被修改。如果路径引用属性,它的值将被删除。 |
重命名 |
路径引用的元素或属性将被重命名。注意,如果值类型参数是xml/xquery,然后,value参数中的xquery表达式的计算结果应为字符串或qname对象。 |
插入为第一个子级 |
value参数中给定的值将作为xml path参数所引用的每个元素的第一个子元素插入。 |
插入为最后一个子级 |
value参数中给定的值将作为xml path参数引用的每个元素的最后一个子元素插入。 |
插入为上一个同级 |
value参数中给定的值将插入XML路径参数所引用的每个项的父元素中。它将立即出现在引用项之前。 |
插入为下一个同级 |
value参数中给定的值将插入XML路径参数所引用的每个项的父元素中。它将立即出现在引用项之后。 |
此参数指定要更新的XML节点的位置。这里可以使用任何XQuery表达式,只要它返回输入文档中包含的节点。如果路径表达式的计算结果为多个项,它们都将被修改。
最简单的参数值是路径表达式,例如:
/数据/记录/名称
使用此路径表达式,变压器将修改
/数据/记录[1]/名称
同样地,谓词也可用于根据属性值缩小选择范围:
/数据/记录[@id=“A-123”]/name
尤其是,因为这是一个XQuery表达式,可以使用FME XQuery功能。
注:path参数中使用的xquery函数将应用于更新正在处理的功能,不是文件正在更新的功能
/数据/记录[@id=fme:get attribute(“record_id”)]/name。
变压器将只修改那些
/数据/记录[@id=fme:get list attribute(”“)]/name
路径表达式的命名空间必须正确。也就是说,前缀(或缺少前缀)必须与输入XML文档中使用的前缀完全匹配。通配符(*)可以用作命名空间前缀。小径/*:数据将匹配任何命名空间中的元素,包括默认名称空间和空名称空间。同样地,通配符可用于元素名称。小径GML:*将匹配绑定到gml前缀的命名空间中的任何元素。结合这些方法,这个***不能使用语法。更确切地说,应使用单个*字符。
此参数用于指示应如何解释值参数的值。在值参数的描述中解释了该参数不同值的影响。一般来说,如果转换器要在文档中插入文本内容,则应将此参数设置为纯文本。而如果Transformer打算将XML元素插入到文档中,则应该将其设置为XML/XQuery。
此参数用于指定应插入到文档中的新值。如果值类型参数设置为纯文本,此参数的内容将被编码,以便在XML文档中安全使用。亚搏在线也就是说,<字符将编码为<,>字符将被编码为>等。
如果值类型参数设置为xml/xquery,此参数的内容将被解释为XQuery表达式。这允许在文档中插入XML元素。也,这允许使用FME XQuery函数。例如,XML模板(例如,从XMLTEMPLAR可输入变压器)作为参数值。然后在插入到文档中之前对其进行评估。
注:新值中使用的任何FME XQuery函数都将访问更新特征,不是文件特征。
参数
此参数指定Workbench是否应尝试验证传递给XML路径列和值列中使用的任何XQuery函数的属性名。
此参数指定将写入更新的XML文档的属性。默认值为结果.
此参数指定更新的XML文档是否应以XML头声明开头。默认情况下,输出将包含一个XML头。当输出要与其他值连接到更大的XML文档中时,省略头可能很有用。
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来指定变压器参数。更高级的功能,例如高级编辑器和算术编辑器,也可用于一些变压器。要访问这些选项的菜单,点击在适用参数旁边。更多信息,看见变压器参数菜单选项.
变压器类别
搜索FME知识中心
在上搜索有关此变压器的示例和信息FME知识中心.