如何从XCC ResultSequence获取XML?

时间:2014-04-18 06:03:42

标签: marklogic

我有这个Java代码:

Request r2 = session.NewAdhocQuery("xdmp:document-properties('" + items + "')");
ResultSequence rs2 = session.SubmitRequest(r2);

现在我怎样才能以XML的形式获得rs2?

2 个答案:

答案 0 :(得分:0)

https://docs.marklogic.com/javadoc/xcc/com/marklogic/xcc/ResultSequence.html处有toString方法的注释:"使用XdmSequence.asString()或XdmSequence.asStrings()方法获取项值的String表示形式"如果ResultSequence包含XML项,则其字符串表示形式为XML。所以:

rs2.asStrings()

顺便说一句,使用字符串连接来构建即席查询是一个严重的安全漏洞,因为它允许注入攻击。将items绑定到变量。 https://docs.marklogic.com/javadoc/xcc/index.html下的示例"使用查询传递变量"。

答案 1 :(得分:0)

您可以使用以下方法将xml作为字符串

String text = "";
while (resultSequence.hasNext()) {
  XdmValue value = resultSequence.next();
  text = value.asString(); 
}