SQLXML 接口
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。