我一直在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