java - 如何在JAVA中读取/导出从SQL Server输出的XML文件

标签 java sql-server xml-parsing sqlxml

我有一个查询,在 SQL Server 2005/2008 中执行,它以 XML 格式提供输出。

以下是生成 xml 输出的示例查询:

SELECT 
    (SELECT 'White' AS Color1,
            'Blue' AS Color2,
            'Black' AS Color3,
            'Light' AS 'Color4/@Special',
            'Green' AS Color4,
            'Red' AS Color5 
    FOR XML PATH('Colors'),TYPE),
    (SELECT 'Apple' AS Fruits1,
            'Pineapple' AS Fruits2,
            'Grapes' AS Fruits3,
            'Melon' AS Fruits4 
    FOR XML PATH('Fruits'),TYPE) 
FOR XML PATH(''),ROOT('SampleXML')

我需要的是,读取Java中的输出,将其转换为java.io.File格式,这样我就可以解析和填充对象。

我尝试过:SQLXML sqlxml = resultSet.getSQLXML(column);,在 here 中给出

但它抛出异常:线程“main”java.lang.AbstractMethodError中的异常:com.inet.pool.g.getSQLXML(I)Ljava/sql/SQLXML;

请建议我一种读取该文件的方法。

请注意:我可以使用resultSet.getString(column)将o/p读取为String,但无法解析它。

最佳答案

SQLXML interface提供以字符串、Reader 或 Writer 或 Stream 的形式访问 XML 值的方法。将 sqlxml 放入二进制流并解析 xml

SQLXML sqlxml = resultSet.getSQLXML(column);
InputStream binaryStream = sqlxml.getBinaryStream();

关于java - 如何在JAVA中读取/导出从SQL Server输出的XML文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15244019/

相关文章:

java - LibGDX Big FreeType MipMapped 字体看起来像素化

sql - 从 CTE 更新表中的记录

sql-server - 使用 NTILE 计算百分位数排名?

android - 如何在android中解析自定义xml文件

java - 异常情况下的返回语句

java - Netbeans JavaSE 项目在执行时工作正常,但构建的 .jar 却不行

sql - 在存储过程中使用同名的临时表

java - 如何在 ANTLR 中分离出 block 的开始和结束标记

xml - Groovy:将 XML 元素从一个文档复制到另一个文档

java - SoundPool puse 只能工作一次