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