2016-10-24 84 views
1

我有一個數據庫表,包含三列:id,描述和日期,id列是數字,description列是一個字符串,它包含一個xml行和一個日期列。 說明列是這樣的:春季批量從數據庫中提取xml記錄

<catalog_item > 
     <item_number>QWZ5671</item_number> 
     <price>39.95</price> 
     <size description="Medium"> 
      <color_swatch image="red_cardigan.jpg">Red</color_swatch> 
      <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch> 
     </size> 
     <size description="Large"> 
      <color_swatch image="red_cardigan.jpg">Red</color_swatch> 
      <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch> 
     </size> 
    </catalog_item> 
    <catalog_item > 
     <item_number>RRX9856</item_number> 
     <price>42.50</price> 
     <size description="Small"> 
      <color_swatch image="red_cardigan.jpg">Red</color_swatch> 
      <color_swatch image="navy_cardigan.jpg">Navy</color_swatch> 
      <color_swatch image="burgundy_cardigan.jpg">Burgundy</color_swatch> 
     </size> 
     <size description="Medium"> 
      <color_swatch image="red_cardigan.jpg">Red</color_swatch> 
      <color_swatch image="navy_cardigan.jpg">Navy</color_swatch> 
     </size> 

    </catalog_item> 

與多個嵌套的標籤。 所有標籤都寫在描述欄中的同一記錄中。 我可以編寫一個select語句從數據庫中讀取記錄,但在這種情況下,我將有一個自定義對象,其中包含來自說明列的整行,是否有一種方法可以提取xml行的所有這些節點使用spring批處理將其分離到java字段中。

Thks。

回答

2

這不是真正的Spring-batch將XML文件轉換爲DTO(或任何java bean)的工作,您應該使用類似Jaxb(或任何其他XML映射庫)的東西。

至於spring-batch,您可以撥打FieldSetMapper(映射對象的readerprocessor之間的組件)呼叫Jaxb。

+0

我會嘗試這個解決方案.Thnks – Alex2330

相關問題