我想选择的东西是嵌套相同类型节点的1到N的子节点。 xml看起来像这样:
<Folder>
<Folder>
<Folder>
<Folder>
<File></File>
</Folder>
</Folder>
</Folder>
</Folder>
或
<Folder>
<File></File>
</Folder>
我选择的文件必须是文件夹的子文件,并且这些文件夹中没有任何文件夹可以包含文件夹作为祖先。我不想使用后代来获取所有文件只检查他们的每个祖先。我宁愿按照文件夹链,然后在文件夹后直接停在任何文件。正如我正在寻找的正则表达式+(./Folder+/File),但我不知道它存在的语法是什么。
答案 0 :(得分:1)
XPath没有&#34;重复轴&#34;构造;您需要使用XPath axes和谓词条件的组合来实现所需的结果。
这是一个表达式,它获取File
个元素的所有Folder
个元素,然后检查Folder
元素的祖先是否都是{{ 1}}元素:
Folder