如何忽略JCR中的文件夹名称,通过XPath进行搜索

时间:2014-06-04 17:50:03

标签: xpath jackrabbit jcr

我想在JackRabbit中使用XPath搜索表达式,这样我就可以从第一级和第二级的任何文件夹中获取第三级文件夹的所有子文件夹。

我正在考虑这样的事情:"/jcr:root/*/*/element(*,nt:folder)"

但这是错误的,我得到一个空列表,你们有这样的事吗?

1 个答案:

答案 0 :(得分:0)

上述字符串'/jcr:root/*/*/element(*,nt:folder)'是有效的 XPath 查询。 但是在您的问题说明中进一步说明,您说您要搜索第三级文件夹的所有子文件夹,因此您可能在查询中缺少一个级别的深度,而且&#39 ;为什么你得到并清空列表:

  • 第3级文件夹被解析为 jcr:root - >等级1 - > 2级 - >级别3 ,因此您的查询应该定位/jcr:root/*/*/*而不是/jcr:root/*/*
  • 子文件夹刚刚解析为直接子项,您的查询没有任何错误; /element(*,nt:folder)

因此,以下查询可能会使其成为/jcr:root/*/*/*/element(*,nt:folder)