使用pentaho重新排列xml元素

时间:2016-08-18 14:01:45

标签: xml pentaho

我有一个xml输入,如下所示

<select class="selectpicker">
    <option ata-ng-repeat="address in deliveryaddress" ng-model="selectedAddress" data-content="
        <strong>{{address.Firstname}}  {{address.Lastname}}</strong><br>
                {{address.Company}}<br>
                {{address.street}}<br>
                {{address.street2}}<br>
                {{address.street3}}<br>
                {{address.Zip}} {{address.City}}">
            </option>
        </select>

所需的输出是

update WUSERS
    set FULLNAME = 'XXXXX',
        PW = 'XXXXX',
        telno = 'XXXXX',
        email = 'XXXXX@email.com',
        ROLEID = 'X',
        dept = 'XXX'
    where userid= 'XXXXX';

我是pentaho的新手。但我尝试使用选择图标,但它无法正常工作。请帮忙。

1 个答案:

答案 0 :(得分:3)

您可以使用 XSL Transformation 步骤来操作XML。

  

XSL代表可扩展样式表语言,是一个样式表   XML文档的语言。

假设您的XML非常简单并且您只想进行这些特定更改,您可以使用以下代码创建xsl文件:

<xsl:template match="setAdmin">
  <xsl:copy>
     <xsl:apply-templates select="assets" />
     <xsl:apply-templates select="Type" />
     <xsl:apply-templates select="size" />
  </xsl:copy>
</xsl:template>

这将要求您的XML文件/内容存储在一行中。您可以使用在内存中加载文件内容步骤来实现此目的。最后,在完成操作之后,您将获得包含已转换XML的结果列。您可以使用简单的文本文件输出来保存新的XML(请记住不要包含标题)。

您的转型将如下所示:

enter image description here