2017-03-11 245 views
1

我有具有多個子級別的XML文件。將數據存儲到數據庫中的最佳方法是什麼?爲節點創建不同的表並保存具有關係或數據的數據?如果我們有50個不同的節點該怎麼辦?將XML數據存儲到數據庫中的最佳方法

類似XML

<storage> 
    <product description="Cardigan Sweater" product_image="cardigan.jpg"> 
     <storage_item gender="Men's"> 
     <item_number>QWZ5671</item_number> 
     <price>39.95</price> 
     <size description="Medium"> 
      <color image="red_cardigan.jpg">Red</color> 
      <color image="burgundy_cardigan.jpg">Burgundy</color> 
     </size> 
     <size description="Large"> 
      <color image="red_cardigan.jpg">Red</color> 
      <color image="burgundy_cardigan.jpg">Burgundy</color> 
     </size> 
     </storage_item> 
     <storage_item gender="Women's"> 
     <item_number>RRX9856</item_number> 
     <price>42.50</price> 
     <size description="Small"> 
      <color image="red_cardigan.jpg">Red</color> 
      <color image="navy_cardigan.jpg">Navy</color> 
      <color image="burgundy_cardigan.jpg">Burgundy</color> 
     </size> 
     <size description="Medium"> 
      <color image="red_cardigan.jpg">Red</color> 
      <color image="navy_cardigan.jpg">Navy</color> 
      <color image="burgundy_cardigan.jpg">Burgundy</color> 
      <color image="black_cardigan.jpg">Black</color> 
     </size> 
     <size description="Large"> 
      <color image="navy_cardigan.jpg">Navy</color> 
      <color image="black_cardigan.jpg">Black</color> 
     </size> 
     <size description="Extra Large"> 
      <color image="burgundy_cardigan.jpg">Burgundy</color> 
      <color image="black_cardigan.jpg">Black</color> 
     </size> 
     </storage_item> 
    </product> 
</storage> 
+1

取決於你想用它做什麼。如果你只是想存儲它並按原樣返回,請使用blob。如果您想實際處理數據,例如查找物品的平均價格,請將其分解並根據需要創建不同的表格。 – Robert

回答

0

您可以將這個XML到JSON格式,並將其保存在一個數據庫中的NoSQL MongoDB的一樣。

更新:如果您需要將其保存到SQL數據庫中,我認爲您需要使用JAXB或XMLBeans轉換爲java對象,然後使用JDBC或JPA將其保存到數據庫中。 (Tristan):在第二種解決方案中,您也可以選擇XML的哪一部分實際上需要SQL DB中的精確數據,另一部分則可以將它存儲在CLOB字段中。

+0

我知道,但我用關係db(mySQL) – Adnan

+0

然後讀第二句;) – Tristan

+0

對不起,我剛剛在他的評論後加了第二句。 – alayor

0

最好的方法是把它粘在你的SQL數據庫中。你可以很容易地通過SQLizer運行它,它將爲convert XML to SQL提供表格定義和多個INSERT語句。

這也會讓你選擇XML文件的特定部分進行轉換。

相關問題