Как выбрать безымянный узел в HTML или XML с помощью XPath? - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь получить доступ к тексту в среде <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 "fruit" ( ссылка ).

1 Ответ

1 голос
/ 22 апреля 2019

Вы можете выбрать целевой элемент на основе метки, предшествующей ему:

Это 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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...