xPath 在特定 H4 文本之后获取列表项



从下面的XML文档中,我尝试指定XPath,它将捕获紧跟在h4标题"Source"之后的文本,即 - 在本例中 - "有关源的信息":

<div class="doc-inf doc-inf-information">
<h3>Document information</h3>
<div>
<h4>Source</h4>
<ul>
<li>Information about the source</li>
</ul>

我尝试了以下方法:

//h4[contains(text(), "Source")]/ul/li'

这似乎行不通。有人能帮忙吗?我将不胜感激。

编辑:

我的问题(我没有完全指定,抱歉)是这个div 标签中有多个 h4 标签,我想为每个标签选择 ul-child:

<div class="doc-inf doc-inf-information">
<h3>Document information</h3>
<div>
<h4>Source</h4>
<ul>
<li>Source information</li>
</ul>

<h4>Language</h4>
<ul>
<li><a href="/search-results/1/%7B%22language%22%3A%22chi%22%7D">Swedish</a></li>
</ul>

<h4>Publishers</h4>
<ul>
<li><a href="/search- results/1/%7B%22publisher%22%3A%221%22%7D">Publishing Project</a></li>
</ul>

<h4>Record ID</h4>
<ul>
<li>36785</li>
</ul>

从本质上讲,我试图在 h4 标题"来源"、"语言"、"出版商"、"记录 ID"(= 我感兴趣的是"来源信息"、"瑞典语"、"出版项目"和"36785")下抓住孩子,但 h4 标题在各个页面上的位置不一致,所以我需要能够定位特定标题的子项。

您直接访问没有子项的标记<h4>,因此以下内容不起作用:

//h4[contains(text(), "Source")]/ul/li

试试这个:

//div[h4[contains(text(), "Source")]]/ul/li/text()

它会搜索一个<div>,其中<h4>带有文本"Source"的标签,然后选择<ul>子项。

最新更新