我在pentaho Kettle中使用STAX解析器很长时间了。但突然间我遇到了一种奇怪的情况。早期的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解析器中提到了Xpath(A / TRADE / TRADE / TRADE三级等等)。
预期产出:
在第一种情况下 - 交易表1中的两个条目(行)用于子交易的其他交易。 在第二种情况下 - 交易表中的四个条目(行) - 建立父子关系。
如何在不知道交易数量(深度)的情况下动态执行此操作
但现在该文件可以有任何级别的交易(最小1最多15)。我很困惑如何使用pentaho水壶中的STAX解析器动态解析TRADE文件。
任何指导都会非常有用。
此致 维卡斯