XQJ 구현을 사용하여 XML 문자열 (예 : SAXON)을 구문 분석하고 싶습니다. 내가 찾을 수있는 모든 예제는 일부 데이터베이스 연결을 참조합니다. 간단한 문자열을 xml 소스로 사용할 수 있습니까?XQJ에서 XML 데이터 소스로 문자열
0
A
답변
0
Saxon에는 XQJ 인터페이스가 있으며 XQuery에서 doc 함수()를 사용할 수 있습니다. :
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));
}
1
첫번째 인수로 XQConstants.CONTEXT_ITEM으로
void XQExpression.bindDocument(javax.xml.namespace.QName varName, javax.xml.transform.Source value, XQItemType type)
를 사용하여 시도하고 StreamSource 번째로서 StringReadeer 배치.