XML

通过XML应用,您可以通过XML > 解析XML模块来解析XML格式的文本,并将其转换为捆绑包,以便其他模块可以使用该数据。 您还可以通过XML > 创建XML模块将捆绑包转换为XML格式文本

访问要求

您必须具有以下权限才能使用本文中的功能:

Adobe Workfront 计划*
Pro或更高版本
Adobe Workfront 许可证*
计划,工作
Adobe Workfront Fusion 许可证**

当前许可证要求:无Workfront Fusion许可证要求。

旧版许可证要求:Workfront Fusion for Work Automation and Integration

产品

当前产品要求:如果您有Select或Prime Adobe Workfront计划,则贵组织必须购买Adobe Workfront Fusion和Adobe Workfront才能使用本文中描述的功能。 Workfront Fusion包含在Ultimate Workfront计划中。

旧版产品要求:您的组织必须购买Adobe Workfront Fusion和Adobe Workfront,才能使用本文中介绍的功能。

要了解您拥有什么计划、许可证类型或访问权限,请与Workfront管理员联系。

有关Adobe Workfront Fusion许可证的信息,请参阅Adobe Workfront Fusion 许可证

分析XML

XML > 解析XML模块解析XML格式文本并输出包含从XML提取的所有信息的单个包。

Data structure

数据结构描述了XML的结构,以使模块的输出在映射面板中可用于以下模块。

如果要解析的XML的示例,可以使用该示例生成数据结构:

  1. 单击 Add 按钮。

  2. 单击 生成器 按钮。

  3. 将XML示例复制并粘贴到 示例数据 字段中。

  4. 单击 保存

  5. 验证是否已成功生成数据结构。

  6. 单击 Save 按钮以保存数据结构。

    可跳过步骤2-5以提供空的数据结构。 如果数据结构为空,则在至少执行一次模块后,映射面板中才会提供模块的输出。

有关详细信息,请参阅Adobe Workfront Fusion中的数据结构。

保留数字为文本
启用此选项以确保数字保持为文本(字符串)值。 否则,数字将转换为数字值。
XML

输入或映射要解析的XML格式文本。

如果使用公式,请确保其结果值类型是(或可以自动强制到)Text数据类型。

如果结果值类型为Buffer (二进制数据),则使用toString()函数将其转换为Text数据类型。 有关详细信息,请参阅Adobe Workfront Fusion中的类型强制以及Adobe Workfront Fusion中的项数据类型。

INFO
示例: ​要从URL下载XML文件并解析其内容,请执行以下操作:
  1. 创建新方案。

  2. 插入HTTP > 获取文件模块

  3. 打开模块的配置,并按照以下方式对其进行配置:

    URL: XML文件的URL (如https://siftrss.com/f/rqLy05ayMBJ

  4. 单击​ 确定 ​以保存并关闭模块的配置。

  5. 添加XML > 分析XML模块,在HTTP > 获取文件模块后连接该模块,并按如下方式对其进行配置:

table 0-row-2 1-row-2 layout-auto html-authored no-header
Data structure

>

  1. > 单击 Add 按钮。
  2. > 单击 生成器 按钮。
  3. > 在Web浏览器中,打开新的选项卡或窗口。
  4. > 将第三步中使用的URL放入地址栏并获取XML文件。
  5. > 选择所有XML文本并将其复制到剪贴板中。
  6. > 关闭选项卡或窗口,然后返回到您的方案。
  7. > 将复制的XML文本粘贴到示例数据字段中。
  8. > 单击 保存
  9. > 验证是否已成功生成数据结构。
  10. > 单击 保存 以保存数据结构。 >

可跳过步骤2至9以提供空的数据结构。 如果数据结构为空,则在至少执行一次模块后,映射面板中才会提供模块的输出。

XML

将HTTP > Get a file模块输出中的Data 项映射到字段中。 使用toString()函数将其值从Buffer (binary data)类型转换为Text数据类型。

您可以将公式的代码复制并粘贴到字段中: {{toString(1.data)}}

有关“缓冲区”和“文本”数据类型的详细信息,请参阅Adobe Workfront Fusion中的项数据类型

正在分析XML属性

默认情况下,XML > 分析XML模块将特殊集合_attributes中的特性作为具有这些特性的节点的子项放入。 如果节点是文本节点并且它有属性,则会添加两个特殊属性:属性为_attributes,节点的文本内容为_value

INFO
示例: ​此XML:
<root attr="1">
<node attr="ABC">Hello, World</node>
</root>

将转换为此捆绑包:

创建XML

XML > 创建XML模块将捆绑包转换为XML格式文本。

Data structure

数据结构描述生成的XML的结构。 如果要创建的XML示例,可以使用该示例生成数据结构:

  1. 单击 Add 按钮。
  2. 单击 生成器 按钮。
  3. 将XML示例复制并粘贴到示例数据字段中。
  4. 单击 保存 按钮。
  5. 验证是否已成功生成数据结构。
  6. 单击 保存 以保存数据结构。
根元素名称
输入XML根元素的名称。 默认值为root
Doctype系统ID
输入要在 !DOCTYPE SYSTEM声明中使用的文件名
Doctype公共ID
输入要在 !DOCTYPE PUBLIC声明中使用的文件名
带Xml声明
启用此选项可删除XML声明<?xml ... ?><!DOCTYPE ... >,并仅保留XML根元素及其内容。
INFO
示例:
典型用例是将数据从Google >电子表格转换为XML。
  1. 将Google Sheets > 选择方案中的行模块以获取数据。 设置模块以从Google电子表格中检索行。 将​ 返回的最大行数 ​设置为一个较小的数字,但大于一个以用于测试目的(例如,3)。 执行Google Sheets模块,方法是右键单击该模块并选择“仅运行此模块”。 验证模块的输出。
  2. 在Google Sheets模块之后连接数组汇总模块。 在模块设置的​ Source节点 ​字段中选择Google Sheets模块。 请暂时保留其他字段。
  3. 在数组聚合器模块之后连接XML > 创建XML模块。
模块的设置需要一个描述XML输出结构的数据结构。 单击​ 添加 ​按钮以打开数据结构设置。 创建此数据结构的最简单方法是从XML示例中自动生成此数据结构。
  1. 单击​ 生成器 ​按钮并将XML示例粘贴到示例数据字段:
  1. 单击​ 保存。 Data structure中的Specification字段现在包含生成的结构。
  2. 将数据结构的名称更改为更具体的名称,然后单击​ 保存。 与root数组属性对应的字段在JSON模块的设置中显示为可映射字段。
  3. 单击该字段旁边的​ 映射 ​按钮,并将数组汇总输出中的Array[]项映射到它:
  4. 单击​ 确定 ​以关闭XML模块的设置。
  5. 打开数组汇总模块的设置。 将​ 目标结构 ​从“自定义”更改为与父XML元素对应的XML模块字段。将Google Sheets模块中的项映射到相应的字段。
  6. 单击​ 确定 ​关闭阵列聚合器模块的设置。
  7. 运行方案。
XML模块输出正确的XML文件。
  1. 打开Google Sheets模块的设置,并增加返回的最大行数数值,使其大于电子表格中的行数,以便处理所有数据。
生成的XML可以保存到Dropbox、通过电子邮件作为附件发送、通过FTP上传到服务器等等。

添加XML属性

如果要向复杂节点(将包含其他节点的节点)添加属性,则必须为自定义数据结构中的复杂注释添加名为_attributes的集合。 此集合将映射到节点属性。 如果要向文本节点添加属性(例如: <node attr="1">abc</node>),则必须为自定义数据结构中此节点的属性添加集合_attributes,并为节点值添加文本属性_value

{
   "name": "node",
   "type": "collection",
   "spec": [
      {
         "name": "_attributes",
         "type": "collection"
         "spec": [
            {
               "name": "attr1",
               "type": "text"
            }
         ]
      },
      {
         "name": "_value",
         "type": "text"
      }
   ]
}

疑难解答:无法映射来自分析XML模块的数据

确保正确定义数据结构。 或者,您可以使用空数据结构并至少执行一次该模块以处理XML输入。

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43