如何在JAVA中读取/导出从SQL服务器输出的XML文件

时间:2013-03-06 09:56:07

标签: 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

中给出的

但它引发了一个例外:Exception in thread "main" java.lang.AbstractMethodError: com.inet.pool.g.getSQLXML(I)Ljava/sql/SQLXML;

请建议我阅读文件的方法。

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

1 个答案:

答案 0 :(得分:2)

SQLXML interface提供了以String,Reader或Writer的形式访问XML值的方法,或者将sqlxml作为Stream.put转换为二进制流并解析xml的方法

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