SQLXML 接口

下载 JDBC 驱动程序

JDBC 驱动程序提供对 JDBC 4.0 API 的支持,后者引入了 java.sql.SQLXML 接口。 SQLXML 接口定义与 XML 数据交互以及操作 XML 数据的方法。 数据类型 SQLXML 映射到 SQL Serverxml 数据类型。

SQLXML 接口提供用于以 String、Reader 或 Writer,或者 Stream 形式访问 XML 值的方法。 XML 值还可以通过 Source 来访问,或者设置为 Result,两者与 XML 分析器 API(如文档对象模型 (DOM)、Simple API for XML (SAX) 和 Streaming API for XML (StAX))以及 XSLT 转换和 XPath 一起使用

注解

下表介绍了 SQLXML 接口中定义的方法:

方法语法 方法说明
void free() 此方法释放 SQLXML 对象以及它所持有的资源。
InputStream getBinaryStream() 返回一个用于从 SQLXML 中读取数据的输入流。
Reader getCharacterStream() 将 XML 数据作为 java.io.Reader 对象或字符流返回
T extends Source T getSource(Class<T> sourceClass) 返回 Source,用于读取此 SQLXML 对象指定的 XML 值。

注意:getSource 方法支持下列源:javax.xml.transform.dom.DOMSource、javax.xml.transform.sax.SAXSource、javax.xml.transform.stax.StAXSource 和 java.io.InputStream。
String getString() 返回此 SQLXML 对象所指定的 XML 值的字符串表示形式
OutputStream setBinaryStream() 检索可用于写入此 SQLXML 对象所表示的 XML 值的流
Writer setCharacterStream() 返回可用于写入此 SQLXML 对象所表示的 XML 值的流
T extends Result T setResult(Class<T> resultClass) 返回 Result,用于设置此 SQLXML 对象指定的 XML 值。

注意:setResult 方法支持下列源:javax.xml.transform.dom.DOMResult、javax.xml.transform.sax.SAXResult、javax.xml.transform.stax.StaxResult 和 java.io.OutputStream。
void setString(String value) 将此 SQLXML 对象所指定的 XML 值设置为指定的字符串表示形式

应用程序只能从/向 SQLXML 对象中读取/写入 XML 值一次。

调用 free() 方法后,SQLXML 对象将变为无效,既不可读也不可写。 如果应用程序尝试对该 SQLXML 对象调用 free() 方法以外的方法,将引发异常。

当应用程序调用下列任意 getter 方法时,SQLXML 对象将变为既不可读也不可写:getSource、getCharacterStream、getBinaryStream 和 getString。

当应用程序调用下列任意 setter 方法时,SQLXML 对象将变为既不可写也不可读:setResult、setCharacterStream、setBinaryStream 和 setString。

另请参阅

支持 XML 数据