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

时间:2013-06-14 23:12:07

标签: xpath

如何使用Xpath获取节点,该节点有时在目标节点之间具有不相关的节点。

我的xml文件通常表格如下:

<body>
    <target>
         <goal>Text I want to obtain</goal>
    </target>
    <target2>
         <goal>Second Target I want to obtain</goal>
    </target2>
<body>

我需要在单独的字符串中抛出目标和目标2的目标。 所以我得到了我想要获得的#34;&#34;使用Xpath&#34; // body / target / goal&#34;,得到了我想要获得的第二个目标&#34;使用Xpath&#34; // body / target2 / goal&#34;。

很简单。

但是后来我发现在目标和目标(或目标2和目标)之间可能存在以下单独的节点(未知):

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

我仍然需要区分这两个目标,所以我不能只用&#34; //目标&#34;累积目标。我需要获得什么样的2 Xpath才能获得我需要获得的每个文本?

非常感谢您提前

1 个答案:

答案 0 :(得分:1)

target / target2goal之间使用通配符:

//body/target/*/goal
//body/target2/*/goal