如何使用XPath在HTML或XML中选择未命名的节点?

时间:2019-04-22 16:47:55

标签: html xml xpath

我尝试在<dl>环境之后的<p>环境中使用文本“ Bedeutungen:”访问文本。我尝试指定XPath来选择此特定的<dl>节点。

<p><span style="visibility:hidden" id="Bedeutungen"><span id="Anker:Bedeutungen"></span></span></p><p style="margin-bottom:-0.5em; font-weight:bold;" title="Sinn und Bezeichnetes (Semantik)">Bedeutungen:</p>
<dl><dd>[1] roh <a href="/wiki/essbar" title="essbar">essbare</a>, meist saftige Früchte, die von Bäumen, Sträuchern und mehrjährigen Stauden stammen, mit überwiegend süßlichem oder säuerlichem, "fruchtigem" Geschmack</dd></dl>

这是摘自德国维奇词典中Obst“水果”(a link)的内容。

1 个答案:

答案 0 :(得分:1)

您可以根据其前面的标签选择目标元素:

此XPath,

string(//dl[preceding-sibling::*[1][self::p][normalize-space()='Bedeutungen:']])

将返回dl元素的字符串值和紧接在前的同级p元素,且其空间标准化字符串值等于'Bedeutungen:'

[1] roh essbare, meist saftige Früchte, die von Bäumen, Sträuchern und mehrjährigen Stauden stammen, mit überwiegend süßlichem oder säuerlichem, "fruchtigem" Geschmack