注:前言、目录见

Tips:本节内容偏操作,了解如何操作、进行了什么操作即可
Tips:本节所有输出均为Excel输出


文章目录

  • 一、Excel输入
  • 二、XML输入
  • 1、XML input stream (StAX)
  • 2、Get data from XML
  • 三、JSON输入


一、Excel输入

按照上一节的方法,将【Excel输入】、【Excel输出】拖入,连接处一个步骤。

【浏览】选择要输入的Excel文件,点击【增加】。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml

利用这种方式我们可以新增很多Excel表格作为输入。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_字段_02

如果Excel表格有多个Sheet,需要为其指定好使用哪些Sheet。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_XML_03

获取字段,完成输入。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml_04

二、XML输入

示例xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<levelOne>
  <levelTwo id="first">
    <level3 id="1" value="0.5"/>
    <level3 id="2" value="1.5"/>
    <level3 id="3" value="2.5"/>
  </levelTwo>
  <levelTwo id="second">
    <level3 id="1" value="3.5"/>
    <level3 id="2" value="4.5"/>
    <level3 id="3" value="5.5"/>
  </levelTwo>
  <levelTwo id="third">
    <level3 id="1" value="6.5"/>
    <level3 id="2" value="7.5"/>
    <level3 id="3" value="8.5"/>
  </levelTwo>
</levelOne>

1、XML input stream (StAX)

这种不常用

按照上一节的方法,将【XML input stream (StAX)】、【Excel输出】拖入,连接处一个步骤。

选择好文件,确认即可。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_XML_05

输出结果

大致如下图。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_字段_06

2、Get data from XML

这种常用

按照上一节的方法,将【Get data from XML】、【Excel输出】拖入,连接处一个步骤。

【浏览】选择要输入的xml文件,点击【增加】。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml_07

在【内容】中填写【循环读取路径】,可通过【获取XML文档的所有路径】选择一个合适的路径。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_XML_08

接下来根据之前的循环读取路径,填写相应的字段,xml路径可以从每一个循环读取路径的节点开始进行查找,比如这里填写的【名称】是id,填写的【节点】为“属性”,填写的【XML路径】为../@id就代表了循环读取路径levelOne/levelTwo/level3的每一个元素节点level3的父节点的属性id,填写的【类型】为String

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml_09

输出结果

如下图。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_字段_10

解释一下,很简单的理由,这个xml文档共有9个元素节点levelOne/levelTwo/level3,每个这样的元素节点都有其父节点levelOne/levelTwo,其属性id的值即为某一行字段的值

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_字段_11

如果换一个例子,我可以设置【XML文件输入】中的【循环读取路径】设置为/levelOne/levelTwo,在【内容】中设置字段的【XML路径】为@id、【节点】为“属性”,其他和之前一样,将得到如下输出:

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_字段_12

三、JSON输入

按照上一节的方法,将【JSON输入】、【Excel输出】拖入,连接处一个步骤。

【浏览】选择要输入的json文件,点击【增加】。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_XML_13

填写好【字段】中的相关输入,其中*..$..都代表通配符,但是在一个【字段】栏目中的不同字段必须统一地使用*..或者$..中的其中一种

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml_14

输出结果

如下图。

kettle 文本文件输入Accept file names 如何使用 kettle输入excel_xml_15