使用Kettle Spoon添加xml父容器元素

时间:2016-03-30 17:49:38

标签: mysql kettle pentaho-spoon

我有一张带发票标题的mysql表。这些数据足以创建我的xml输出文件。

输出文件的结构必须是:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<bpxml>
    <invoices>
       <invoice>
           <number>1</number>
           <date>01/01/2016</date>
           <amount>100</amount>
           <tax>20</tax>
           <customer>
                <name>Customer name</name>
                <taxcode>tax code123</taxcode>
           </customer>
        </invoice>
        <invoice>...</invoice>
     </invoices>
 </bpxml>

我创建了mysql输入连接,xml输出并映射了所有字段。一切正常,但我只有两个问题:

  1. 创建发票父元素
  2. 创建客户父元素
  3. 将这些容器元素添加到输出xml文件似乎并不简单。

    源mysql表以平面方式包含所有数据,因此我列出了这些列:

    number|date|amount|tax|customer_name|customer_taxcode
    

    同样使用父xml元素和行xml元素我只能管理<bpxml><invoice>元素但我无法添加<invoices>容器元素和<customer>容器元素。

    有一种简单的方法可以将这些容器元素添加到最终流中吗?

1 个答案:

答案 0 :(得分:1)

执行以下操作之一:

  1. Add XML执行子部分,XML Join创建结构。
  2. Add XML步骤,然后{/ 1}}进行转换。
  3. 在转化中创建文件并保存,然后在调用作业中使用XSL Transformation