查询 XML 数据库外的 XML 文档
2010-10-22 17:19:23 来源:WEB开发网这个示例包含一个来自一个 HTTP Servlet 的方法调用。首先,您建立一个到 XQuery 处理程序的连接。从一个文本文件(simple.xqy)读取一个 XQuery,该文件包含在类路径上,作为与 Java 类相同的包中的一个资源。在执行完查询后,循环结果集(应该只包含一个结果)并将该结果写入这个 servlet 的 OutputStream 中。
清单 1. 使用 XQJ API 来运行 XQuery 代码
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
try {
XQDataSource dataSource = new SaxonXQDataSource();
XQConnection connection = dataSource.getConnection();
InputStream inputStream =
this.getClass().getResourceAsStream("simple.xqy");
XQPreparedExpression expression =
connection.prepareExpression(inputStream);
XQResultSequence result = expression.executeQuery();
while (result.next()) {
result.writeItem(response.getOutputStream(), null);
}
} catch (XQException e) {
throw new ServletException(e);
}
}
使用 XQJ 感觉就像在使用 Java Database Connectivity (JDBC):连接到一个数据库,准备一个查询,执行该查询,然后读取结果。这非常适合查询 XML 数据库。另外,用于读取结果的 API 有助于集成 XQuery 代码和 Java 代码。
更多精彩
赞助商链接