当 xml 标签重复时,如何使用 Pentaho 从 XML 中提取数据?

How can i extract data from the XML using Pentaho when xml tag is repeating?

我正在从 XML 中提取数据。因为我有两个具有不同值的重复标签。那么我怎样才能在不同的列中获取这些数据呢?

<table>
  <tr>
    <td>A</td>
    <td>B</td>
  </tr>
  <tr>
    <td>A1</td>
    <td>B2</td>
  </tr>
</table>

所以,我想在不同的列中获取这些值。我怎样才能做到这一点? 任何帮助将不胜感激。

困难的部分是让 kettle 理解将结果放在哪一列。

  1. Content 面板中,将 Loop XPath 定义为“/table/tr”。这将使 PDI 在每个标签的行上生成。
  2. Field 面板中,定义名为 "col1" 的第一列,将 XPath 定义为 "td[1]",将第二列命名为 "col2",将 XPath "td[2]".

如果列号是动态的,则需要元数据注入。

请注意,repeat 复选框不会重复一个字段,它是指示 Kettle 在行中缺少某个字段的情况下选择前一行的值。