2014-01-24 2 views
0

XQJ 구현을 사용하여 XML 문자열 (예 : SAXON)을 구문 분석하고 싶습니다. 내가 찾을 수있는 모든 예제는 일부 데이터베이스 연결을 참조합니다. 간단한 문자열을 xml 소스로 사용할 수 있습니까?XQJ에서 XML 데이터 소스로 문자열

답변

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 배치.