靜態XML輸入流——get data from xml
1、輸入流各選項含義,引用自 https://wiki.pentaho.com/display/EAI/Get+Data+From+XML,token在最后面
Filed Tab
這一部分和excel輸入流差不多,不再詳細解釋
1、從前面輸入得到xml文件位置
2、選擇xml文件位置或者多個xml文件
Content Tab
1) Loop Xpath:指的是xml文件中的層次結構,如下xml文件
2)Encoding:指的是xml文件的字符編碼類型
3)Namespace aware : check this to make the XML document (選中此項即可識別XML文檔名稱空間)
4)Ignore comments : Ignore all comments in the XML document while parsing(解析時忽略XML文檔中的所有注釋)
5)Validate XML : Validate the XML prior to parsing——暫未搞明白,啥意思
6)Do not raise an error if no file:如果沒有找到文件,請不要報錯。
7)Limit : 限制輸出行數
8)Prune path to handle large files: 和Loop Xpath基本一樣,與處理大數據相關
下面解釋一下Additional fields兩個參數情況
Include filename in output,顯示的是參數的內容,結果如下:
Rownum in output,顯示行數,為遞增列,列明為參數的名字,如下
下面解釋一下Add files to result filename參數情況
在一個轉換中引用后,會把文件的名字保存到內存中,然后下一個job或者轉換去引用,
1) 見一個job,第一個轉換引用kettle4,第二個轉換引用kettle_test,如下
2) 見兩個job,kettle4和kettle_test,其中kettle4 中xml輸入流勾選此參數,
3) 我們在轉換kettle_test中進行觀察值,獲取到的是kettle4轉換的文件路徑
Additional output fields 如下圖,
use token 詳解
作用:和數據庫中表連接相似,如下,username1的用戶名密碼等屬性沒有和data數據在一個loop path下,那么通過token我們就可以像表一樣給鏈接起來,得到username1的數值data1
1)Content 選項卡界面
2)Fields選項卡界面如下,1-5是通過get Fields得到的字段,下面詳細說一下data字段獲取
3)data 字段的參數是,../../InfoSession/InfoSessionData[@User=@_User-]/Data
../代表的返回上一層,這里就是指的從/Session_header/Session/SessionData返回/Session_header/Session
../../就是指的是從/Session_header/Session/SessionData返回/Session_header層
這里引用的是相對路徑,
這里我們也可以引用絕對路徑,../../可以寫成/Session_header/
InfoSessionData[@User=@_User-] 這一段指的是InfoSessionData目錄下滿足條件的用戶,也就是token的作用所在
@User所引用的是下面的User,如果有興趣可以嘗試一下,把xml下面對應的User改成其他字段,然后把此處對應的User也修改,結果依然是一樣的
@_User-那么自然就指的是字段里的User了,看下圖