跳转到主要内容
CSV Map 端口使用 Script 将平面 XML 文件转换为 CSV、TSV 和 PSV 文件格式。平面 XML 文件是指除根元素之外深度不超过两层的文件。

核心功能

  • 使用 ArcScript 模板将扁平 XML 文件转换为 CSV、TSV 和 PSV 格式
  • 提供用于简单映射的可视化设计器(支持字段自动匹配),并为复杂转换提供代码视图
  • 支持通过 XPath 导航从嵌套 XML 结构中提取值,并具备动态模板生成功能

概览

CSV Map 端口有两种操作模式,可视化设计器和以脚本为中心的脚本。设计器支持在文档类型之间可视化地建立简单的关系。更复杂的翻译需要脚本,脚本利用强大的 Script 脚本语言在 XML 和平面文件结构之间创建映射模板。 首先,在”设置”选项卡中上传一个示例源文件目标文件。如果两个示例文件的结构都允许设计器驱动的映射,则可视化设计器将填充源和目标字段。该应用程序还将尝试用尽可能多的目标结构填充脚本窗口。

端口配置

本节包含所有可配置的端口属性。

映射选项卡

上传文件以启动源字段和目标字段的设计驱动映射。 点击 上传文件,然后选择您的源文件和目标文件。
  • 源文件 代表输入文档的 XML 结构。端口处理的任何文件都应具有匹配的 XML 结构。要支持设计驱动映射,此文件必须是简单的 XML、CSV、PSV 或 TSV 结构。
  • 目标文件 代表输出文档的结构。要使用设计驱动映射,此文件必须是简单的 XML、CSV、PSV 或 TSV 结构。

映射

定义输入和输出文件之间的映射关系。设计器视图可以映射简单的 XML、CSV、TSV 和 PSV 结构,而脚本视图可以映射更复杂的 XML 结构。有关更多详细信息,请参见使用设计器使用脚本视图

设置选项卡

端口配置

与端口核心操作有关的设置。

高级设置

高级设置

消息

日志

其他

自动化选项卡

自动化

与端口自动处理文件相关的设置。

性能

通知选项卡

SLA 选项卡

使用设计器

可视化设计器仅适用于结构简单的 XML、CSV、TSV 和 PSV 文件。下面是一个简单的 XML 文档作为源文件的例子:
此示例源文件可以与以下 CSV 文档配对作为目标文件:
当这些文件被配置为源文件和目标文件时,设计器将在 列中显示源文件中每一行的行(actor_id, first_name,和 last_name)。对于源中的每个字段,使用下拉菜单选择适当的 目标 列。应用程序将根据列名自动尝试匹配源字段和目标字段。在上面的示例中,actor_id 行将自动与 id 列匹配。 映射设计器

使用脚本视图

脚本视图提供了使用 Script 手动生成映射模板的能力。这允许对可能的输入和输出格式进行更精细的控制。脚本视图定义了目标文件呈现后的外观,Script 元素使用源文档中的值动态填充模板。Script 元素都以 arc 前缀开头,例如 <arc:set>。脚本视图中任何不是 Script 的内容都将作为输出文件的一部分。

导航 XML 输出

Script 支持导航复杂的 XML 结构,以便从源文件中解析出值。xmlDOMSearch 函数将 xpath 作为输入,并在给定的路径上加载 XML 结构。该操作针对在源文档中找到的 xpath 的每个实例进行循环;要加载整个文档并避免循环,请将 XML 源的根元素作为输入提供给 xmlDOMSearch。例如:
一旦加载了 XML 文档,xpath 格式化器支持在指定的路径从 XML 中读取值。格式化器接受绝对 XPath 以及相对于 xmlDOMSearch 加载的路径的 XPath。与所有格式化器一样,xpath 格式化器只能在方括号 [] 内使用。例如:
以下 XML 作为上述脚本的示例输入:
在本例中,xmlDOMSearch 操作将循环访问 root 中的每个 author 元素。在每个 author 循环中,来自 name 元素的值在输出文件中作为内容读取。这种情况下的输出文件如下所示:

模板输出数据

脚本视图用作输出文件的模板,而 Script 将值填充到定义的模板中。举个简单的例子,如果数据应该被格式化为逗号分隔的值,那么这些逗号可以作为脚本视图的一部分被包括进来,以便为 Script 函数提供结构。因此,CSV 文件可以从更复杂的 XML 结构中生成。 以下面的 XML 为例,它包含嵌套元素,不适合使用设计器方式:
通过将适当的路径传递给 Script 的 xpath 格式化器,可以轻松检索嵌套元素。这些格式化器可以放在逗号内和标题名称之后,以提供所需的 CSV 结构,并且一个附加的 csvescape 格式化器确保这些值被正确引用:
通过常量模板数据和 Script 的结合使用,可以生成各种文本文件。

附加脚本功能

由于完整的 Script 在脚本视图中可用,因此可能需要利用 Script 运算器。例如,如果源文件只包含数据库中某个项的标识,但需要该项的实际名称,则 dbQuery 操作可以用来查找对应的 Id 的名称。 Script 还支持映射模板中的条件逻辑。arc:if 关键字是可用于帮助在模板中执行条件逻辑的关键字之一。例如,如果源文件包含有关 QuickBooks 中客户的信息,则可能需要对未清余额的客户执行不同的业务逻辑,对已全额付款的客户执行不同的业务逻辑。这个用例的一个简单示例可能如下所示:

示例