我有这个Java代码:
Request r2 = session.NewAdhocQuery("xdmp:document-properties('" + items + "')");
ResultSequence rs2 = session.SubmitRequest(r2);
现在我怎样才能以XML的形式获得rs2?
答案 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();
}