2012-12-12 19 views
13

Mamy kilka plików XML, zgodnie ze schematem, który jest zasadniczo odcinkach postać bazy danych:Zautomatyzowany sposób konwertowania plików XML na bazę danych SQL?

<table1> 
    <column1>value</column1> 
    <column2>value</column2> 
</table1> 
<table1> 
    <column1>another value</column1> 
    <column2>another value</column2> 
</table1> 
... 

Czy istnieje naprawdę łatwy sposób włączyć, że w bazie danych SQL? Oczywiście mogę ręcznie skonstruować schemat, zidentyfikować wszystkie tabele, pola itp., A następnie napisać skrypt, aby go zaimportować. Zastanawiam się tylko, czy istnieją jakieś narzędzia, które mogłyby zautomatyzować niektóre lub wszystkie te procesy?

+1

Które SQL to jest? Niektóre, takie jak Oracle, zapewniają natywną obsługę importowania XML do tabeli. – wallyk

+0

Oh. Albo Postgres, albo MySQL - nie fussed. (Ale nic komercyjnego.) –

Odpowiedz

1

Istnieje project on CodeProject, który ułatwia konwersję pliku XML na skrypt SQL. Używa XSLT. Prawdopodobnie można go zmodyfikować, aby wygenerować również DDL.

i zobacz to pytanie też: Generating SQL using XML and XSLT

+0

Świetnie, to naprawdę przydatny punkt wyjścia. Googling dla części DDL to: http://xml2ddl.berlios.de/ –

+0

@ Korzyść, że link jest już martwy, czy mógłbyś wskazać mi bieżący projekt, lub gdziekolwiek znalazłeś lepsze rozwiązanie. Dzięki! –

+2

@JeffPuckettII Jestem steve, ale [znalazłem widelec go na git hub] (https://github.com/charlesnagy/xml2ddl) –

2

Jeśli istnieje plik XML z 2 różnych tabel potem będzie:

LOAD XML LOCAL INFILE 'table1.xml' INTO TABLE table1 
LOAD XML LOCAL INFILE 'table1.xml' INTO TABLE table2 

praca

+3

Wszystkie te metody wymagają ręcznego skonstruowania tabeli. –