如何使用pentaho读取xml中的repetead标记?

如何使用pentaho读取xml中的repetead标记?,xml,pentaho,etl,Xml,Pentaho,Etl,我正在尝试使用pentaho加载XML文件: <?xml version="1.0" encoding="ISO-8859-1"?> <scapplication> <heading> <dispatchingcode>GML</dispatchingcode> <version>001</version> <dispatchingcompany>1232</dispatchingc

我正在尝试使用pentaho加载XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<scapplication>
<heading>
  <dispatchingcode>GML</dispatchingcode>
  <version>001</version>
  <dispatchingcompany>1232</dispatchingcompany>
</heading>
<F456>
  <reqcode>0019682125</reqcode>
  <comreferencenum>30104</comreferencenum>
  <responsedate>2017-06-29</responsedate>
</F456>
<F456>
  <reqcode>0019657723</reqcode>
  <comreferencenum>29676</comreferencenum>
  <responsedate>2017-06-29</responsedate>
</F456>
</scapplication>

GML
001
1232
0019682125
30104
2017-06-29
0019657723
29676
2017-06-29
我发现用pentaho加载它的主要问题是F456标记应该在加载中迭代。 这意味着我需要检测每个F456节点中的每个节点,因为稍后我将在表输出语句中的两行中加载它

如何使用pentaho在循环中读取两个标记? 我想,如果两个标记都在另一个标记中,那就很容易了,但我没有在这两个标记之上的标记,因此我不知道如何加载
GET DATA FROM XML Step


我尝试在步骤中将F456作为字段,并将repeat选项设置为Y。但它不起作用…

@Maik您可以使用stax解析器,并使用switch和de normalizer加载到表中。预览stax解析器组件中的数据。了解预览中的xml元素id、xml父元素id。如果你需要任何帮助,请告诉我。使用xml\u element\u id、xml\u Parent\u element\u id设计父表和子表。确定要保留在父表和子表中的列。然后使用xml\u element\u id、xml\u parent\u element\u id更新子表中的值。

如果使用/scapplication/F456作为XPath循环节点,则每个F456节点将获得一条记录,使用“get Fields”将子元素作为字段

假设每个[sApplication]只有一个[heading]节,您可以手动输入附加字段以获取每条记录的字段:

Name |XPath |Element |Result type |Type dispatchingcode|../heading/dispatchingcode|Node |Value of |String 名称| XPath |元素|结果类型|类型 dispatchingcode |../标题/dispatchingcode |节点|字符串的值