2011-04-05 72 views
0

我正在使用Java來使用Transformer類轉換xml文件。我將樣式表(xls)文件與輸入xml文件一起傳遞給變換器,併爲我提供了一個轉換後的輸出xml文件。使用xsl和DB查詢進行XML轉換

同時我還需要查詢數據庫並從數據庫插入一些額外的數據到XML文件中,所以我使用JDBC和xQuery連接到Oracle數據庫並查詢關係表。在ResultSet中,我獲得了XML格式的ROWS。

我的計劃是將這些行作爲參數傳遞給Java Transformer,並在轉換過程中將此數據插入到適當的位置。該參數將包含多行,並且O需要在要插入的轉換期間選擇特定的行。這會工作嗎?

我試着將ResultSet轉換爲XMLType,但失敗了。有沒有另一種對象類型可以將ResultSet轉換爲Transformer的參數?

我希望它是有道理的。非常感謝提前回答!

+0

你問你的XSLT處理器允許你的主機語言(Java?)使用什麼數據類型作爲參數?你在使用什麼XSLT處理器? – 2011-04-05 12:54:48

+0

我編輯了我原來的問題。我希望它更有意義。我的主機語言是Java。我想我需要一個我可以使用的特定類型。 – L4zl0w 2011-04-05 13:45:41

回答

0

我設法將ResultSet轉換爲OracleResultset,然後創建一個XMLType。

ResultSet rset = stmt.executeQuery(); 
OracleResultSet orset = (OracleResultSet) rset; 
XMLType qRes = XMLType.createXML(orset.getOPAQUE(1)); 

這帶來了其他問題,我會另外問。