基本上,这会返回空标签:
let $report := fn:doc('/db/junitReports/Report.xml')
return <label>{$report//testResult/text()}</label>
report.xml将:
<junit>
<interfaceName>InterfaceName</interfaceName>
<reportDate>2016-06-01</reportDate>
<testResult>failure</testResult>
</junit>
但是,当未使用xPath到特定元素时,它显示整个xml:
let $report := fn:doc('/db/junitReports/Report.xml')
return <label>{$report}</label>
这意味着可以从数据库访问该文件。
我找到了一个帖子,通过将现有数据库更新到更高版本来修复它,但我是最新的2.1.2
答案 0 :(得分:0)
我在xPath中添加了一个“*”命名空间来解决问题:
return <label>{fn:doc(fn:concat($collection, '/', $child))//*:testResult/text()}</label>