2011-10-20 66 views
2

我有一系列需要處理的XML文檔,它們將關鍵元素和屬性存儲在幾個關係表(「一」和相關的「多」表)中。XML - > XSLT - > DB

我已經確定了識別相關節點所需的正確Xpath邏輯。

一種方法是在轉換完成時處理DOM節點集,並根據需要插入記錄。雖然這會起作用,但它看起來很不雅觀。

另一個可選項是生成一個CSV文件,然後批量插入它。

在任何一種情況下,都可以靈活地將XPath映射到設置文件中的表/列組合,而不是對其進行硬編碼。

有沒有特別優雅的方法來處理這種情況,我不考慮?

+0

對不起,但我不明白如果你想解析一個XML並在db中插入記錄,如何適應這個問題XSLT。 –

+0

本質上,要將詳細的XML文檔轉換爲1)另一種格式,如CSV或2)可以更容易地映射到數據庫表。 – craig

+0

正確但請記住,這將帶來額外的一步,在我看來,這是可以避免的。 –

回答

0

由於我有同樣的問題,我會告訴你我是如何處理的。我基於我的XML文件創建了DOM。爲了確保在我的sql語句中沒有錯誤,我沒有「即時」插入數據,但我創建了一個文件,它是INSERT語句。爲了優化插入,我創建一個INSERT聲明每50 VALUES(...)。在檢查完成後,我將行插入數據庫中。

我希望這個小小的演練能夠幫助你。

0

很多方法可以做到這一點。你的數據庫是SQL服務器數據庫嗎?如果是這樣,你可能想看看OpenXML,它允許你直接查詢xml並將數據插入到表中。基本上你的.net應用程序沒有智能,它只會讀取XML內容並將它們作爲參數傳遞給sql語句。

相關問題