我有多级孩子的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>
答案 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文件的特定部分。