Wygląda jak mówisz 2 problemy - po pierwsze, uzyskanie dokumentu XML do Oracle, gdzie można go zobaczyć. A może być tak, aby można było zastosować do danych standardowe narzędzia relacyjne.
Po raz pierwszy Ty lub Twój DBA możecie stworzyć tabelę z kolumną BLOB, CLOB lub BFILE i załadować dane. Jeśli masz dostęp do serwera, na którym znajduje się baza danych, możesz zdefiniować obiekt DIRECTORY w bazie danych, który wskazuje katalog systemu operacyjnego. Następnie umieść tam swój plik. A następnie skonfiguruj go jako BFILE lub odczytaj. (Magazyn CLOB i BLOB w bazie danych, BFILE przechowuje wskazany plik po stronie systemu operacyjnego).
Można również użyć narzędzia, które umożliwia bezpośrednie zapisywanie obiektów CLOB do bazy danych. W każdym razie doprowadza cię to do punktu, w którym możesz zobaczyć dokument XML w bazie danych.
Teraz masz już dokument wystąpienia. Krok 1 jest zakończony.
W zależności od wersji, Oracle oferuje całkiem dobre narzędzia do niszczenia XML-a w relacyjnych tabelach.
Może być dość deklaratywny. Chociaż wykracza to poza to, co faktycznie zrobiłem (mam projekt, w którym będę próbować tej jesieni), teoretycznie możesz załadować swój schemat XML do bazy danych i opisać go za pomocą przejścia między tabelami relacyjnymi a XML. Następnie weź CLOB lub BFILE i przekształć go w kolumnę XMLTYPE ze zdefiniowanym schematem i gotowe - niszczenie dzieje się automatycznie, wszystkie dane są dostępne, wszystko jest relacyjne, wszystko jest dostępne dla standardowego SQL bez XQUERY lub XML rozszerzenia.
Oczywiście, jeśli wolisz używać XQUERY, po prostu weź CLOB lub BFILE, przekonwertuj go na XMLTYPE i przejdź do niego.
W dniu dzisiejszym Marco Gralike opublikował dobry wpis na blogu na temat niszczenia bazy danych: http://www.liberidu.com/blog/?p=1094 –