我有一个查询,该查询在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;

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

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

最佳答案

SQLXML interface提供了用于以字符串,读取器或写入器或流的形式访问XML值的方法。将sqlxml放入二进制流并解析xml

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

09-27 17:06