xpath:根据父节点的类型过滤选定的节点

时间:2019-10-03 20:08:56

标签: xpath

这是我正在处理的XML的示例:

await

我正在尝试根据父节点的类型来过滤掉某些节点。换句话说,我想找到不在<subchapter> <section> </section> </subchapter> <part> <section> </section> </part> <part> <section> </section> </part> <quotedContent> <section> </section> </quotedContent> 节点中的所有<section>节点。除了<quotedContent><part>之外,还有其他各种父节点需要包含在最终结果中。因此,仅排除<subchapter>节点即可。我很确定这只是使xpath字符串正确的问题。

我正在使用R的xml2包,特别是xml_find_all()函数,如下所示:

<quotedContent>

基于上述xml示例,我希望获得两个节点-前两个节点,而不是。内部的最后一个节点。

1 个答案:

答案 0 :(得分:0)

在谓词中使用not(parent::quotedContent),例如//section[not(parent::quotedContent)]。或//*[not(self::quotedContent)]/section