2017-08-04 61 views
-2

我從MySQL服務器中檢索數據,其中一個列名的數據類型爲XML。我需要XML屬性中的數據進行一些比較。我想將XML屬性的數據類型和值存儲在一個List<ArrayList<String>>中,因爲我的數據的另一面要在ArrayList中進行比較。建議我使用ResultSet從數據庫訪問,如何在java List<ArrayList<String>>中存儲?如何將XML數據從sql server存儲到java中的arraylist

在此先感謝。

+0

你能從數據庫中獲取數據嗎? – sForSujit

+0

是的,我可以從數據庫中獲取數據。 – Ruchita

+0

您可以將其添加到問題中,以便我可以看看 – sForSujit

回答

0

結果集有getSQLXML()可用於從xml數據類型列中獲取XML的方法。使用ResultSetMetaData確認xml數據類型列返回的數據類型。

使用SQLXML接口的getString()方法以字符串的形式獲取XML數據,然後使用JAXB將XML轉換爲POJO。

或者,您可以從SQLXML獲取二進制流並使用解析器(如SAX,DOM或StAX解析器)。

+0

對不起.. 謝謝:) – Ruchita

0

Mysql沒有像xml這樣的任何數據類型。存儲xml最常見的方式是以clob的形式。

ResultSet接口有getClob()方法,通過它可以從數據庫中獲取xml並使用getSubString方法將其提取爲字符串。

使用Jaxb將xml轉換爲java對象並應用您的比較邏輯。希望這可以幫助。

+0

這個問題是關於sql-server – sForSujit

+0

是的,它是sql服務器。對不起,這是錯誤的MySQL。我想從sql server中存儲這些數據。 – Ruchita

相關問題