当 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 理解将结果放在哪一列。
- 在
Content
面板中,将 Loop XPath
定义为“/table/tr”。这将使 PDI 在每个标签的行上生成。
- 在
Field
面板中,定义名为 "col1" 的第一列,将 XPath
定义为 "td[1]",将第二列命名为 "col2",将 XPath
"td[2]".
如果列号是动态的,则需要元数据注入。
请注意,repeat
复选框不会重复一个字段,它是指示 Kettle 在行中缺少某个字段的情况下选择前一行的值。
我正在从 XML 中提取数据。因为我有两个具有不同值的重复标签。那么我怎样才能在不同的列中获取这些数据呢?
<table>
<tr>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>A1</td>
<td>B2</td>
</tr>
</table>
所以,我想在不同的列中获取这些值。我怎样才能做到这一点? 任何帮助将不胜感激。
困难的部分是让 kettle 理解将结果放在哪一列。
- 在
Content
面板中,将Loop XPath
定义为“/table/tr”。这将使 PDI 在每个标签的行上生成。 - 在
Field
面板中,定义名为 "col1" 的第一列,将XPath
定义为 "td[1]",将第二列命名为 "col2",将XPath
"td[2]".
如果列号是动态的,则需要元数据注入。
请注意,repeat
复选框不会重复一个字段,它是指示 Kettle 在行中缺少某个字段的情况下选择前一行的值。