Извлечь дату из текста внутри тегов html, используя XPATH

Извлечь дату внутри тега html, используя подстроку xpath

Я пытался использовать подстроку в xpath

<span id="latestReplyLine"><a href="#comment-965609" class="lastScroll js-latest-reply">Latest reply</a> on May 22, 2019 by John Stoltzfus</span>

Я использую ниже запрос xpath для извлечения текста

/span[@id="latestReplyLine"]/text()[substring-after(substring-before(.,' by '), ' on ')]

Ожидаемый результат -

"May 22, 2019"

Но я получаю,

"on May 22, 2019 by John Stoltzfus"

Есть идеи?

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Введение в технологический стек Twitch
Введение в технологический стек Twitch
В этой статье мы подробно рассмотрим стек Twitch, который подразделяется на следующий набор технологий:
8 полезных HTML-тегов, которые лучше использовать вместо <div>
8 полезных HTML-тегов, которые лучше использовать вместо <div>
Когда я только начинал изучать html, я использовал div для всего, это был один из первых тегов, которые я выучил, и казалось, что он работает в любой...
HTML5: API локального хранилища (Local Storage)
HTML5: API локального хранилища (Local Storage)
LocalStorage - это простой способ хранения данных в браузере пользователя.
Доступность HTML - программирование с инклюзивной перспективой
Доступность HTML - программирование с инклюзивной перспективой
Представьте, что вы хотите поехать на пляж. Представьте, что вы упорно трудились весь год и заслужили это. Прибыв на место, вы обнаруживаете, что...
0
0
171
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пропустили нужную строку на один пробел (on вместо on).
Улучшенное выражение XPath выглядит следующим образом:

normalize-space(substring-after(substring-before(string(/span[@id='latestReplyLine']),'by'), 'on'))

Это даст вам правильный результат.

Как насчет substring(/span,21,14)?

Jack Fleeting 22.05.2019 17:38

Другие вопросы по теме