kettle——入門操作(XML輸入流,Get Data From XML),use token詳解


靜態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了,看下圖

            

 

 

 

        

 

 

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM