我一直在pentaho Kettle中使用STAX解析器很长时间。但突然间我发现了一个奇怪的情况。此前是具有预先定义的XML文件的级别一样:Pentaho Kettle动态XML解析
<A>
<TRADE a="1" b="2">
<TRADE a="3" b="4">
</TRADE>
</TRADE>
</A>
OR
<A>
<TRADE a="100" b="200">
<TRADE a="1" b="2">
<TRADE a="3" b="4">
<TRADE a="5" b="6">
</TRADE>
</TRADE>
</TRADE>
</TRADE>
</A>
如果文件包括贸易则是提前知道与同为三个四级的两个级别(四个为最高)。 因此,在STAX解析器(A/TRADE/TRADE/TRADE for level three等)中提到了Xpath。
预期输出:
在第一种情况 - 两个条目(行)在贸易表一个父贸易等儿童贸易。 第二种情况 - Trade Table中的四个条目(行) - 建立父子关系。
如何动态地做到这一点不知道交易的(深度)
数不过现在文件可以有贸易(分1和最大值15)的任何水平。我对如何在pentaho水壶中使用STAX解析器动态解析TRADE文件感到困惑。
任何指导将非常有帮助。
问候, 维卡斯
什么是预期的输出? – bolav
@bolav - 我需要在Trade Table中解析。从上面可以看出,在第一种情况下,应该有两个(行)条目 - 一个用于父代,另一个用于子代(使用xml_element_id和parent_xml_element_id建立父子关系),而在第二种情况下应该有四个(行)父母子女关系)在贸易表。这种解析应该在事先不知道交易数量的情况下进行动态分析。 –
请为您的两个示例添加行的预期布局,以便我能够完全理解您的问题。一个级别可以有几个交易? – bolav