2017-03-11 7 views
1

여러 수준의 하위가있는 XML 파일이 있습니다. 데이터를 데이터베이스에 저장하는 가장 좋은 방법은 무엇입니까? 관계를 가진 노드 및 저장 데이터에 대해 다른 테이블을 만들려면? 우리가 50 개의 다른 노드를 가지고 있다면 어떻게해야할까요?XML 데이터를 데이터베이스에 저장하는 가장 좋은 방법은

당신은 JSON 형식이 XML 변환 및 MongoDB를 같은되는 NoSQL 데이터베이스에 저장할 수 있습니다

<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.

업데이트 : SQL 데이터베이스에 저장해야하는 경우 JAXB 또는 XMLBeans를 사용하여 Java 개체로 변환 한 다음 JDBC 또는 JPA를 사용하여 DB에 저장해야한다고 생각합니다.

보너스 아이디어 (Tristan) : 두 번째 해결 방법에서는 SQL 데이터베이스에서 실제로 정확한 데이터가 필요한 부분과 CLOB 필드에 저장하는 부분을 선택할 수 있습니다.

+0

그걸 알고 있지만 관계 db (mySQL) – Adnan

+0

두 번째 문장을 읽으십시오.) – Tristan

+0

죄송합니다. 방금 두 번째 문장을 주석 뒤에 추가했습니다. – alayor

0

가장 좋은 방법은 SQL 데이터베이스에 저장하는 것입니다. 당신은 쉽게 convert XML to SQL SQLizer 통해 실행할 수 있으며 테이블 정의 및 여러 INSERT 문을 제공합니다.

이렇게하면 변환 할 XML 파일의 특정 부분을 선택할 수 있습니다.

관련 문제