如何使用xpath 1.0获取两个节点之间的节点

本文关键字:节点 两个 之间 xpath 何使用 获取 | 更新日期: 2024-09-19 11:58:37

有下面的html表。如何使用xpath(Html敏捷包)获取"会话X"的所有tr?(在<tr><td colspan=15>Session X</td></tr>和下一会话tr之间)

有两个问题

  1. 在比较会话X时,是否可以放松一点?因为它可能是

    Session X
    Session  X
    session_X
    
  2. 下一个会话文本可以是"会话X"以外的任何内容。也许最好检查<tr>是否只包含一个<td colspan=15>

xml/html/

<table>
<tr><td colspan=15>Session A</td></tr>
.......
<tr><td colspan=15>Session X</td></tr>
<tr><td>...</td><td>Column header 1</td><td>value1</td><td>value2</td>......</tr>
<tr><td>...</td><td>Column header 2</td><td>value1</td>......</tr>
<tr><td>...</td><td>Column header 3</td><td>value1</td>......</tr>
.....
<tr><td colspan=15>Session Y</td></tr> <!--next session, the inner text can be anything-->
.....

如何使用xpath 1.0获取两个节点之间的节点

这将为您提供tr,其中包含以下信息:

.//tr[preceding-sibling::tr/td/text()='Session X'][following-sibling::tr/td/text()='Session Y']

我认为你没有发送足够的信息来知道如何从那里继续。