龙空技术网

Kettle(PDI)转换中输出之XML输出详解

中年猿人 162

前言:

如今小伙伴们对“xml格式如何转换”大体比较关心,姐妹们都需要剖析一些“xml格式如何转换”的相关文章。那么小编在网摘上搜集了一些关于“xml格式如何转换””的相关资讯,希望咱们能喜欢,同学们快快来学习一下吧!

概述

XML output(XML输出)此步骤允许您将来自任何源的行写入一个或多个XML文件。

选项

XML输出

XML output(XML输出)步骤有以下选项:

Step name(步骤名称):在画布上指定XML output(XML输出)步骤的唯一名称。您可以自定义名称或将其保留为默认名称。

文件选项卡包含如下选项内容

文件选项卡是为XML输出文件格式设置一般属性的地方。

Filename(文件名):指定输出文本文件的文件名和位置。注意:不要在这个字段中添加扩展名,当日期和时间应该被选择性地附加在扩展名选项之后(参见下面的扩展选项字段)。当扩展名选项为空时,将其添加到该字段。

Do not create file at start(启动时不创建文件):当没有行被处理时,使能够避免空文件。

Pass output to servlet(输出传递到servlet):选择使用web服务返回数据,而不是写入文件。

Extension(扩展名):在文件名的末尾添加句点和扩展名(.xml)。

Include stepnr in filename?(在文件名里包含步骤数?):当您在多个副本中运行该步骤(启动一个步骤的多个副本)时,选择在文件名中包含复制号(例如,_0)。

Include date in file name?(文件名包含日期):选择在文件名中包含系统日期(例如_20181231)。

Include time in file name?(在文件名里包含时间?):选择在文件名中包含系统时间(例如_235959)。

Specify Date time format(指定日期时间格式):从“日期时间格式”下拉列表中选择要在文件名中包含日期时间的格式。

Date time format(日期时间格式):选择日期时间格式。

Add filenames to result(结果中添加文件名):选择此选项,将向输出文件中添加文件名。

内容选项卡包含如下选项内容

Zipped(已压缩):如果希望XML文件存储在ZIP归档文件中,请选择此选项。

Encoding(编码):要使用的编码。这种编码在XML文件的头中指定。

Parent XML element(父 XML 元素):XML文档中根元素的名称。

Row XML element(记录 XML 元素):要在XML文档中使用的行元素的名称。

Split every . . . rows(分隔每一...记录):在创建另一个XML文件之前,在单个XML文件中放置的最大数据行数。

Omit null values from XML output(忽略输入到XML文件的null值):选中此选项,将忽略输出到xml的数据中的null值。

字段选项卡包含如下选项内容

Name(名称):字段的名称。

Elementname(元素名称):XML文件中要使用的元素的名称。类型:字段的类型可以是字符串、日期或数字。

Content type(内容类型):指定字段是元素节点还是属性节点。

Type(类型):字段的类型可以是字符串、日期或数字。格式化要转换的掩码;有关格式说明符的完整描述,请参阅数字格式。

Format(格式):从下拉列表中选择格式掩码(数字类型)或手动输入。

Length(长度):指定字段的长度。

Precision(精度):为数字类型字段指定浮点数。

Currency(货币):指定用于表示货币的符号(例如,$或€)。

Decimal(小数):指定用于表示小数点的符号,可以是10,000.00中的句点(.),也可以是5.000,00中的逗号(,)。

Group(分组):指定用于分隔四位数或更大数字中的千位单位的方法,可以是10,000.00中的逗号(,)或5.000,00中的(.)。

Null(空):当字段的值为null时,指定要插入到输出文本文件中的字符串。

Get Fields(按钮)(获取字段(按钮)):单击此处可从输入流检索字段列表。

Minimal width (button)(最小宽度(按钮)):更改字段选项卡中的选项,使文本文件中的行宽度最小;例如,不是保存0000001,而是写入“1”,以此类推。字符串字段没有被填充到它们指定的长度。

示例

示例采用用户表,然后通过文本文件输出,把用户表的数据写入一个XML文件。为了演示,sql语句很简化,不可以作为实际业务场景,其表sql语句如下。

CREATE DATABASE `demo` ;USE `demo`;/*用户表 */DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`username` varchar(20) NOT NULL,`password` varchar(50) NOT NULL,PRIMARY KEY (`username`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert into `user`(`username`,`password`) values ('hanmeimei','123456');insert into `user`(`username`,`password`) values ('lisi','123456');insert into `user`(`username`,`password`) values ('zhangsan','123456');

1.建立数据库连接对象

示例采用mysql数据库作为示例,首先下载mysql驱动,然后放在在文件夹\data-integration\lib下。然后重启Spoon。如果已经添加过mysql驱动,则可由忽略此步骤。

切换至主对象树,双击DB连接。

然后选项连接类型为mysql,并维护相关的链接信息。

维护数据库连接

连接信息维护完之后,点击测试,测试连接是否成功。

2.获取用户表User数据作为数据输入源。

添加表输入步骤,数据库连接使用上面创建的DB连接名称demo,然后从获取SQL查询语句中选择表User,并按username进行排序。

配置sql语句

最后点击预览,预览结果数据。

预览数据效果

3.添加输出中的XML输出步骤,并配置XML输出选项

添加一个输出中的XML输出。并建立从表输入到XML输出的节点连接。

建立节点连接

在文本文件输出的步骤上,文件选项卡中的文件名为:F:\\user;选中启动时不创建文件。

切换至内容选项卡,配置父XML元素为:users;记录XML元素为:user。

配置内容选项卡

切换至字段选项卡,点击获取字段按钮。

最后保存并点击运行。

然后user.xml的文件内容。

标签: #xml格式如何转换