将XML数据存储到数据库的最佳方法

时间:2017-03-11 17:50:07

标签: java mysql xml

我有多级孩子的XML文件。哪种方法是将数据存储到数据库中?为节点制作不同的表并保存关系或?如果我们有50个不同的节点该怎么办?

类似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>

2 个答案:

答案 0 :(得分:0)

您可以将此XML转换为JSON格式,并将其保存在像MongoDB这样的NoSQL数据库中。

更新:如果需要将其保存到SQL数据库中,我认为您需要使用JAXB或XMLBeans转换为java对象,然后使用JDBC或JPA将其保存到数据库中。

Bonus idea(Tristan):在第二个解决方案中,您还可以选择在SQL DB中实际需要精确数据的XML部分,以及将其存储在CLOB字段中的其他部分。

答案 1 :(得分:0)

最好的方法是将它粘贴在SQL数据库中。您可以通过SQLizer轻松运行它,它将convert XML to SQL并为您提供表定义和多个INSERT语句。

这也可以让您选择要转换的XML文件的特定部分。