集中化 XML 文件元数据2025年03月17日 | 阅读 9 分钟 在本节中,我们将学习如何在 Talend Studio for Data Integration 平台中集中化 XML 文件元数据。 在深入本章之前,我们首先了解为什么使用 XML 文件。 它可以用于定义 **输入** 和 **输出** 连接的属性,例如用于创建读取 XML 文件的输入连接的 **tFileInputXML** 和 **tExtractXMLField** 组件。 **tAdvancedFileOutputXML** 组件用于在输出模式中创建或更新 Xml 文件。 如果我们想连接到 XML 文件,我们将把连接和模式信息集中在存储库中以供重用。 从头开始创建 XML 文件连接 - 转到存储库面板。
- 然后展开 **元数据**,右键单击 **文件 XML**,然后在弹出菜单中选择 **创建文件 XML** 选项,如下图所示
存储库 → 元数据 → 文件 XML → 创建文件 XML  注意:要在我们的作业中使用集中化的 XML 文件,请转到必要组件的基本设置视图,并将其属性类型设置为内置 (build-in),以打开文件元数据设置窗口。为输入文件设置 XML 元数据在本节中,我们将了解如何描述文件连接并为输入文件上传 XML 模式。 然后将打开 **新建 XML 文件** 窗口,在该窗口中,所有文件连接和模式定义将在五个步骤中完成 - 定义常规属性
- 设置元数据类型(输入)
- 上传 XML 文件
- 定义模式
- 完成最终模式
步骤 1:定义常规属性 在第一步中,我们将定义模式的常规属性。 在“新建 XML 文件”窗口中,填写所有必需的详细信息,例如 **名称、目的和描述**。 我们还可以在 **项目设置** 对话框中管理存储库项的 **版本** 和 **状态** 字段。 单击 **文件 XML** 节点旁边的 **选择** 按钮,选择一个文件夹来存放我们新创建的文件连接。 填写完常规属性的所有详细信息后,单击 **下一步** 按钮选择元数据类型。  步骤 2:设置元数据类型(输入) 现在,在这一步中,我们将把元数据设置为输入或输出。 在下面的对话框中,选择 **输入 XML** 来创建 XML 元数据。  然后,单击 **下一步** 按钮继续。 步骤 3:上传 XML 文件 在下一步中,我们将上传 XML 文件。 要上传 XML 文件,请按照以下步骤操作 - 单击 **浏览** 按钮,然后从我们的本地系统中浏览要上传 XML 文件的目录。
- 例如,我们将从系统中选择 **xml** 文件。
<employeeDeatils> <employee> <empid>101</empid> <firstName>Naina</firstName> <lastName>Rai</lastName> <company>Talend</company> <city>Mumbai</city> <phone>5554</phone> </employee> <employee> <empid>102</empid> <firstName>Kapil</firstName> <lastName>Singh</lastName> <company>Talend</company> <city>Kanpur</city> <phone>9900</phone> </employee> …… </employeeDeatils>- 如果系统未能自动找到文件格式,我们也可以根据文件格式更改 **编码** 类型。
- **限制** 字段用于输入要对其执行 XPath 查询的列数,或者我们可以输入 0 来对所有列执行。
- **模式查看器** 部分用于显示 XML 结构的预览。我们可以展开并查看文件 XML 树结构的每个级别,如下图所示
 步骤 4:定义模式 在此步骤中,我们将定义解析作业的设置。 正如我们在下面的图片中看到的,有四个部分可以定义模式 **源模式:** 它显示 XML 文件的树视图。 **目标模式:** 它显示提取和迭代信息。 **预览:** 它以定义的顺序显示目标模式和选定列的输入数据的预览。 **文件查看器:** 它显示 XML 文件的预览。  - 要定义文件参数,首先,我们将定义 XPath 循环以及循环可以运行的最大次数。
- 生成 **XPath 循环表达式** 字段有两种方法,一种是具有绝对 XPath 表达式。
**第一种:** 输入要强调的节点的绝对 XPath 表达式。 **第二种:** 将节点从源模式拖放到目标模式下的绝对 XPath 表达式字段。 注意:XPath 循环表达式是必填字段。- **循环限制** 字段用于定义选定节点可以迭代的最大次数,或者如果我们要对所有行执行,则为 -1。
- 我们可以通过按住 **Ctrl** 或 **Shift** 键并单击节点来选择多个节点以拖放到表中。
- 橙色箭头表示从 **源模式** 到 **要提取的字段** 的选定节点的链接,未选定的节点用 **灰色** 表示。
- 我们可以在 **要提取的字段** 表中添加许多列以进行提取,或者使用工具栏删除列并更改列的顺序。
- 要添加列,请单击 **[+]** 按钮,要删除,请单击工具栏上的 **[X]** 按钮。
- 要更改列的顺序,请使用工具栏上的 **向上** 和 **向下** 箭头按钮,如下图所示
 - 要查看目标预览,请单击 **刷新预览** 按钮,如下图所示
 注意:如果加载 XSD 文件,预览功能将无效。- 然后,要验证和编辑最终模式,请单击 **下一步**
步骤 5:完成最终模式 在最后一步,我们将完成最终模式。 - 要自定义文件模式,请检查 **类型** 列中的数据类型是否正确。
- **猜测** 按钮用于更新和恢复 XML 文件模式。
注意:如果我们自定义了模式,Guess 功能将不会保留这些更改。- 之后,单击 **完成** 按钮完成该过程,如下图所示
 要在 Talend studio 中查看新创建的元数据 - 转到 **存储库面板**,然后转到元数据。
- 之后,展开 **文件 XML** 节点,然后选择 **New_XML_input** 元数据,如下图所示
存储库 → 元数据 → 文件 XML → New_XML_input  要将元数据作为新组件或现有组件重复使用,只需从存储库的元数据节点拖动文件连接或模式,然后将其放到设计工作区窗口中。 要修改现有文件连接 - 转到存储库面板,然后转到元数据节点。
- 之后,展开 **文件 XML**,然后右键单击 **New_XML_input** 模式并选择 **编辑文件 XML**,如下图所示
 要向现有文件连接添加新模式 - 转到 **存储库面板**,然后右键单击 **文件 xml**。
- 从元数据中的弹出菜单中选择“检索模式”,如下图所示
 为输出文件设置 XML 元数据在本节中,我们将了解如何描述文件连接并为输出文件上传 XML 模式。 然后将打开 **新建 XML 文件** 窗口,在该窗口中,所有文件连接和模式定义将在五个步骤中完成 - 定义常规属性
- 设置元数据类型(输入)
- 上传 XML 文件
- 定义模式
- 完成最终模式
步骤 1:定义常规属性 在第一步中,我们将定义模式的常规属性。 - 填写必要详细信息,例如 **名称、目的和描述**。
- 我们还可以在 **项目设置** 对话框中管理存储库项的 **版本** 和 **状态** 字段。
- 单击 **文件 XML** 节点旁边的 **选择** 按钮,选择一个文件夹来存放我们新创建的文件连接。
- 填写完常规属性的所有详细信息后,单击 **下一步** 按钮选择元数据类型,如下图所示
 步骤 2:设置元数据类型(输出) 现在,我们将把元数据类型设置为输出。 在下面的对话框中,选择 **输出 XML** 来创建 XML 元数据。  然后,单击 **下一步** 按钮继续。 步骤 3:定义输出文件 在下一步中,我们将定义输出文件。 - 要定义输出文件,我们将选择手动创建文件,或从现有 XML 或 XSD 文件创建。
- 如果我们选择 **手动创建** 选项,我们将需要自己配置模式、源和目标列。
- 然后,将使用 XML 输出组件在作业中创建文件,例如:
要从 XML 文件创建输出 XML 结构,请按照以下步骤操作 - 在输出设置区域,选择 **从文件创建**
- 单击 **XML 或 XSD 文件** 字段旁边的 **浏览** 按钮,然后从本地系统中浏览 XML 文件的路径,然后双击该文件。
例如,我们将从系统中选择 **carr.xml** 文件。 - 如果系统未能自动找到文件格式,我们也可以根据文件格式更改 **编码** 类型。
- **限制** 字段用于输入要对其执行 XPath 查询的列数,或者我们可以输入 0 来对所有列执行。
 - **文件查看器** 部分显示 XML 结构的预览,**文件内容** 部分用于显示文件的前 50 行的最大内容。
- 之后,在 **输出文件路径** 区域,我们可以在 **输出文件** 中浏览输出文件的路径。如果文件尚不存在,它将在作业执行期间通过 **tAdvancedFileOutputXML** 组件创建,或者如果文件已存在,它将被覆盖。
- 单击 **下一步** 按钮继续处理。
步骤 4:定义模式 在此步骤中,我们将定义模式。 - 在上面一步中定义输出文件后,**链接源** 部分将自动映射到 **链接目标** 部分中的相关部分,这由蓝色箭头链接表示。
- 要定义输出模式,我们有以下选项可执行,例如:
- 在 **链接源** 部分,我们可以通过单击 **模式管理** 按钮从头开始创建模式,它将打开模式编辑器来编辑源模式并传递输出模式。
- 在 **链接目标** 部分,右键单击要循环的元素,然后从弹出菜单中选择 **设置为循环元素**,如下图所示
注意:这是定义要循环的元素的强制选项。 - 我们可以通过 **Ctrl + Shift** 键一次选择并拖放多个字段,并进行各种选择。
这使得映射更快,我们还可以通过右键单击操作进行各种选择,例如: - 创建为目标节点的子元素
- 创建目标节点的属性
- 添加链接到目标节点
正如我们在下图中所见,我们选择了第二个选项 **创建为目标节点的属性**,然后单击 **确定** 按钮**。  然后,要验证和编辑最终模式,请单击 **下一步** 按钮。 步骤 5:完成最终模式 在最后一步,我们将完成最终模式。 - 要自定义 XML 文件模式,请检查 **类型** 列中的数据类型是否正确。
- **猜测** 按钮用于更新和恢复 XML 文件模式。
注意:如果我们自定义了模式,Guess 功能将不会保留这些更改。- 要添加列,请单击 **[+]** 按钮,要删除,请单击工具栏上的 **[X]** 按钮。
- 要更改列的顺序,请使用工具栏上的 **向上** 和 **向下** 箭头按钮。
- 之后,单击 **完成** 按钮完成该过程,如下图所示
 要在 Talend studio 中查看新创建的元数据 - 转到 **存储库面板**,然后转到元数据。
- 之后,展开 **文件 xml** 节点,然后选择 **New_XML_output** 元数据,如下图所示
存储库 → 元数据 → 文件 xml → New_XML_output  要将元数据作为新组件或现有组件重复使用,只需从存储库的元数据节点拖动文件连接或模式,然后将其放到设计工作区窗口中。 要修改现有文件连接 - 转到存储库面板,然后转到元数据节点。
- 之后,展开 **文件 xml**,然后右键单击 **New_XML_output** 模式并选择 **编辑文件 xml**,如下图所示
 要向现有文件连接添加新模式 - 转到 **存储库面板**,然后在 **文件 xml** 中右键单击 new_XML_output 模式。
- 从元数据中的弹出菜单中选择“检索模式”,如下图所示

|