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

核心功能

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

概览

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

端口配置

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

映射选项卡

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

映射

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

设置选项卡

端口配置

与端口核心操作有关的设置。
设置描述
端口 Id端口的静态、唯一标识符。
端口类型显示端口类型及其用途的描述。
端口描述一个可选字段,用于提供端口及其在流中的角色的自由格式描述。

高级设置

高级设置

消息

消息设置确定端口如何搜索消息并在处理后管理它们。

设置描述
保存到已发送文件夹选中此项可将端口处理的文件复制到该端口的“已发送”文件夹中。
已发送文件夹方案端口根据选定的时间间隔对 已发送 文件夹中的文件进行分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将本周发送的所有文件存储在该文件夹中。空白设置告诉端口将所有文件直接保存在 已发送 文件夹中。对于处理许多事务的端口,使用子文件夹可以帮助保持文件有序并提高性能。

日志

用于管理日志创建和存储的设置。

设置描述
日志级别指定要记录在端口日志目录中的信息类型:
  • None - 不创建任何日志。
  • Error - 仅当端口遇到错误时才创建日志。
  • Warning - 仅当端口发出警告时才创建日志。
  • Info - 记录工作流的一般信息,包括任何错误和警告(如果适用)。
  • Debug - 记录成功和失败工作流的详细调试信息。
  • Trace - 记录成功和失败工作流的详细跟踪信息。
请注意:Debug 和 Trace 级别的日志可能会记录敏感信息,包括消息内容和 SSL 证书。尽管连接属性(例如密码)被屏蔽了,但在与您的组织外部共享它们之前,请查看此级别的日志以避免泄漏敏感信息。
日志文件夹结构指示端口根据选定的时间间隔将日志文件夹中的文件分组。例如,Weekly 选项指示端口每周创建一个新的子文件夹,并将该周的所有日志存储在该文件夹中。空白设置告诉端口将所有日志直接保存在日志文件夹中。对于处理许多事务的端口,使用子文件夹有助于保持日志的有序性并提高性能。
保留消息副本指示端口在日志目录中保存最新消息副本的切换。请注意,端口每个子文件夹只保留一个消息,并且端口在再次运行时会覆盖以前保存的消息。

其他

特殊设置适用于特定用例。

设置描述
其他设置允许在以分号分隔的列表中配置隐藏的端口设置,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用这些设置。

自动化选项卡

自动化

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

性能

与端口资源分配相关的设置。

设置描述
最大工作线程数此端口上处理文件时从线程池中消耗的最大工作线程数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。
最大文件数分配给端口的每个线程发送的最大文件数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。

通知选项卡

SLA 选项卡

使用设计器

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

使用脚本视图

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

导航 XML 输出

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

模板输出数据

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

附加脚本功能

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

宏

示例