【问题标题】:How to store xml type data from sql server to the arraylist in java如何将xml类型的数据从sql server存储到java中的arraylist
【发布时间】:2017-08-04 10:28:14
【问题描述】:

我正在从 MySQL 服务器检索数据,其中一个列名的数据类型为 XML。我需要 XML 属性中的数据进行比较。我想将 XML 属性的数据类型和值存储在一个 List<ArrayList<String>> 中,因为我的数据的另一面要在 ArrayList 中进行比较。建议我使用 ResultSet 从数据库访问,我如何在 java List<ArrayList<String>> 中存储?

提前致谢。

【问题讨论】:

  • 你能从数据库中获取数据吗?
  • 是的,我可以从数据库中获取数据。
  • 你能把它加到问题里,让我看看
  • 我只需要 XML 的值,不需要属性类型。

标签: java sql-server xml spring-boot arraylist


【解决方案1】:

Resultset 具有getSQLXML() 方法,可用于从 xml 数据类型列中获取 XML。

使用ResultSetMetaData确认xml数据类型列返回的数据类型。

使用 SQLXML 接口的 getString() 方法获取字符串形式的 XML 数据,然后使用 JAXB 将 XML 转换为 POJO。

或者,您可以从 SQLXML 获取二进制流并使用解析器,例如 SAX、DOM 或 StAX 解析器。

【讨论】:

  • 抱歉出错.. 谢谢:)
【解决方案2】:

Mysql 没有像 xml 这样的数据类型。最常见的xml存储方式是clob的形式。

ResultSet 接口有getClob() 方法,您可以通过该方法从数据库中获取xml 并使用getSubString 方法将其提取为字符串。

使用 Jaxb 将 xml 转换为 java 对象并应用您的比较逻辑。希望这会有所帮助。

【讨论】:

  • 问题是关于sql-server
  • 是的,它是 sql server。对不起,这是错误的mysql。我想从 sql server 存储该数据。
猜你喜欢
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多