我想使用XQJ实现来解析我的XML字符串,例如SAXON。我能找到的所有例子都涉及到一些数据库连接。可以使用简单字符串作为xml源吗?
发布于 2014-01-25 01:52:35
Saxon有一个XQJ接口,您可以使用XQuery中的文档函数(),例如:
XQDataSource ds = new SaxonXQDataSource();
XQConnection conn = ds.getConnection();
XQPreparedExpression exp = conn.prepareExpression("doc('file:/some/file.xml')/child::node()");
XQResultSequence result = exp.executeQuery();
while(result.next()) {
System.out.println(result.getItemAsString(null));
}或者直接将XML注入到查询中。例如:
XQDataSource ds = new SaxonXQDataSource();
XQConnection conn = ds.getConnection();
XQPreparedExpression exp = conn.prepareExpression("<a><b>test</b></a>/child::node()");
XQResultSequence result = exp.executeQuery();
while(result.next()) {
System.out.println(result.getItemAsString(null));
}发布于 2014-01-25 07:47:57
尝试使用
void XQExpression.bindDocument(javax.xml.namespace.QName varName, javax.xml.transform.Source value, XQItemType type) 第一个参数是XQConstants.CONTEXT_ITEM,第二个参数是包装StringReadeer的StreamSource。
https://stackoverflow.com/questions/21337288
复制相似问题