0

好的,这就是我遇到的问题,继续我之前提出的问题。

如何在两个目标节点之间形成具有不相关节点的 Xpath

以上是原始问题。我希望我能从回答问题的人那里得到答案,但我不能,所以我将单独发布。

因此,正如我担心的那样,更不相关的标签出现在我的目标节点之间。让我假设在我的目标标签和根之间可能有无限数量的不相关标签。我确定总是有目标/目标2和目标。

<body>
    <target>
         <annoying>
             ...
             <x>
                 <goal>Text I want to obtain</goal>
             </x>
             ...
         </annoying>
    </target>
    <target2>
         <noidea>
             ...
             <y>
                 <goal>Second Target I want to obtain</goal>
             </y>
             ...
         </noidea>
    </target2>
<body>

我希望像下面这样的事情是可能的:

//body/target/[*/]*goal

像正则表达式一样获取目标。然而,Xpath 之上的那个语法并不是一个好的语法。

我还是要区分 target 和 target2 所以

//goal

不会返回我想要的结果。

有没有可以获得目标的Xpath?

4

3 回答 3

1

要获得所有目标,只需使用:

//goal

如果您有目标标签,请//仅在必要时使用,因为在性能方面,“操作员”比/

/body/target//goal
于 2013-06-19T22:47:57.483 回答
0
//target//goal

//target2//goal

诀窍没有意识到我可以使用 // 除了开始

于 2013-06-19T22:47:44.580 回答
0

Xpath 轴就是您想要的

descendant-or-self::goal在 a 节点上,将从您所在的节点中选择具有目标名称的所有节点以及嵌套在其中的所有节点。

于 2013-06-19T22:53:53.220 回答