我尝试编写Java代码以在本地模式下使用BaseX来查询通过点击Web服务返回的XML。
我不确定传递XML的不同方式。我应该
fn:parse()
,fetch
模块是否有其他具有类似功能的XQuery 3.0处理器和内置模块?
答案 0 :(得分:2)
这意味着您首先必须将XML数据存储为java变量,然后将其传递给BaseX。你当然可以这样做,它看起来像那样:
declare variable $t as xs:string external;
parse-xml($t)
fetch:text()
和fetch:binary()
是可流式传输的,但parse-xml
会实现字符串(请注意,函数称为parse-xml()
而不是parse()
,如您所述问题
parse-xml(fetch:text("YOUR-URI"))
您还可以使用http模块从Web服务中简单地检索数据:
http:send-request(<http:request method='get'></http:request>, "YOUR-URI")[2]
如果您不再需要Java代码中的结果,那么解决方案3在我看来是最简单的方法。否则你可能想坚持解决方案1。