xmlupdate
这个转换器修改XML文档通过执行以下操作的一种或多种:
- 替换XML元素或属性。
- 替换元素或属性的内容。
- 删除XML元素或属性。
- 删除XML元素或属性的内容。
- 重命名的元素或属性
- 插入一个新的元素和属性。
对于每个文档更新,都使用一个XML路径表达式来标识要修改的项的位置。注意,路径可以引用多个项目。如果是这种情况,所有的项目都将被修改。
对于修饰替换现有项目或插入新的物品,两个参数被给予其指定值被添加到文档中。这个值可以作为一个简单的文本值,或者它可能是一个XQuery表达。
该更新功能提供的文档更新操作中使用的属性值。该文档特性仅用于提供要更新的XML文档。
的每个特性更新端口,在变压器中列出的所有更新操作都将被应用到通过输入变压器各功能文档端口。因此,如果转换器中没有任何特性输入,则不会对XML文档进行任何更改更新港口。
请注意,如果直接输入到变压器的参数文件,可以以两种不同的方式处理:
- 如果没有文档功能提供给变压器,新功能将被创建,用于存储文档。每个更新的将被应用到该文档,那么这将是通过输出文档端口。
- 如果文档特征被提供给变压器,每一个更新将被应用到该文档,那么它将被复制到每个文档在变压器输出这些特性之前输入特性。
输入端口
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
输入特性包含要修改的XML文档。文档可以包含在属性中,可以直接输入到转换器中,也可以包含在属性值引用的文件中。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
一种用于进入该输入端口的每个特征,每个变压器列出的更新将在其上经由输入的每个文件被执行文档输入端口。这些功能将包含在文档更新所使用的属性值。
输出端口
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
该文档输入特征将通过此端口输出。这些功能将包含更新文件,将存储在结果属性参数命名的属性。
参数
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数用于指定将修改文档的更新特性。当此参数设置为属性列表时,文档特性只会被修改更新特点是共享这些属性的值相同。该文件将通过所有的具有相同的属性值更新功能进行修改。请注意,文件将不被如果没有更新更新与用于相同的值功能“组由”属性被提供给变压器。
XML文档
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数用于指定要修改的XML文档的类型。XML可能来自输入特性(参数值:文本或属性),也可能来自外部文件。(参数值:XML文件)
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
当XML输入参数设置为文本或属性,该参数用于指定XML文件。所述参数可以被设置为一个属性值,或XML文档可以被直接输入到参数。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
当XML输入参数设置为XML文件时,该参数用于指定文件的位置。文件路径可以直接输入到参数中,也可以来自属性值。
更新
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定要应用于XML文档的修改类型。可能的更新是:
更新类型 | 描述 |
---|---|
更换 |
XML路径参数引用的每个项都将替换为value参数中给出的值。 |
替换内容 |
每个项目的提到了XML Path参数都会有自己的内容与价值参数给出的值替换。 |
替换为内容 |
XML路径参数引用的每个项都将被其内容替换。也就是说,节点将被删除,但节点的子节点和文本内容将保留。 |
删除 |
每个由XML Path参数中提到的项目将被从文件中删除。 |
删除内容 |
由XML Path参数中提到的项目的内容会从文件中删除。如果路径是指一个元素,称为元素的所有子元素和文本内容将被删除,而属性将保持不变。如果路径是指一个属性,它的价值将被删除。 |
改名 |
路径引用的元素或属性将被重命名。注意,如果值类型参数是XML/XQuery,那么值参数中的XQuery表达式应该计算为字符串或QName对象。 |
插入为第一个孩子 |
值参数中给出的值将作为XML路径参数引用的每个元素的第一个子元素插入。 |
插入最后一个子元素 |
在数值参数给出的值将被插入由XML Path参数指各元素的最后一个孩子。 |
插入为前一个兄弟 |
value参数中给出的值将被插入到XML路径参数所引用的每个项的父元素中。它将在提到项目之前立即出现。 |
插入为下一个兄弟 |
value参数中给出的值将被插入到XML路径参数所引用的每个项的父元素中。它将立即出现在所引用的项目之后。 |
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
该参数指定了要更新的XML节点的位置。任何XQuery表达式可以这里只要它返回包含在输入文档中的节点一起使用,。如果路径表达式计算为多个项目,他们都将被修改。
最简单的参数值是一个路径表达式,例如:
/ /记录/数据名称
使用这个路径表达式,转换器将修改根元素中包含的
/数据/记录[1] /名称
类似地,谓词也可以用于根据属性值缩小选择范围:
/数据/记录[@ id = " - 123 "] /的名字
值得注意的是,由于这是一个XQuery表达式,可以使用FME XQuery函数。
注意:路径参数中使用的XQuery函数将应用于更新正在处理的特性,而不是文档功能正在更新
/数据/记录[@ ID = FME:获取属性( “RECORD_ID”)] /名称。
变压器将修改包含在<记录>元素,其id属性是等于RECORD_ID特征属性只有那些<名称>元素。这也适用于列表中的属性。下面的路径表达式将修改包含在<记录>元素,其id属性包含在_ids功能属性的所有<名称>元素。
/数据/记录[@ id = fme: get-list-attribute (“_id{}”)] /的名字
路径表达式必须是名称空间正确的。也就是说,前缀(或缺少前缀)必须与输入XML文档中使用的前缀完全匹配。通配符(*)可以用作名称空间前缀。路径/*:数据将匹配<数据>元素的所有名称空间,包括默认命名空间和空命名空间。类似地,通配符可以被用于一个元素名称。路径GML:*将绑定到GML前缀的名称空间相匹配的任何元素。要结合这些方法中,*:*可以不使用语法。相反,应使用一个*字符。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数用于指示应如何解释值参数的值。在值参数的描述中解释了该参数的不同值的影响。通常,如果transformer打算向文档中插入文本内容,则应该将该参数设置为纯文本,而如果transformer打算向文档中插入XML元素,则应该将该参数设置为XML/XQuery。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数用于指定应插入到文档中的新值。如果将值类型参数设置为纯文本,则将对该参数的内容进行编码,以便在XML文档中安全使用。亚搏在线也就是说,<字符将被编码为<, >字符将被编码为>等等。
如果值类型参数设置为XML/XQuery,则该参数的内容将被解释为XQuery表达式。这允许将XML元素插入到文档中。此外,这还允许使用FME XQuery函数。例如,一个XML模板(例如,来自XMLTemplater变压器)可输入作为参数值。然后,它将被插入到文档之前进行评估。
注意:新值中使用的任何FME XQuery函数都将访问更新功能,而不是文档特性。
参数
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
这个参数指定工作台是否应该尝试验证传递给XML Path列和Value列中使用的任何XQuery函数的属性名。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定将写入更新的XML文档的属性。默认值是_结果。
![关闭](http://www.baooytra.com/docs/fme/2017.0/html/FME_Desktop_Documentation/FME_Transformers/Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定是否更新XML文档应该以XML头声明开始。默认情况下,输出将包含XML头。当输出是与其它值被连结成一个更大的XML文档省略报头可以是有用的。
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来分配transformer参数。更高级的功能,例如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
变压器分类
搜索FME知识中心
搜索有关此变压器的示例和信息FME知识中心。