Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Используйте xpath или xquery для отображения текста в атрибуте title

Автор вопроса: Nick J.Ответов: 2

Я хотел бы использовать xquery (я полагаю) для вывода текста из атрибута title элемента html.

Пример:

<div class="rating" title="1.0 stars">...</div>

Я могу использовать xpath для выбора элемента, но он пытается вывести информацию между тегами div. Я думаю, мне нужно использовать xquery для вывода текста "1.0 звезд" из атрибута title.

Должен быть способ сделать это. Мои навыки Google оказываются неэффективными при поиске ответа.

Спасибо.

xpathxquery

Ответы

Ответ 1 · рейтинг 2 · jwismar

XPath: //div[@class='rating']/@title

Это даст вам текст заголовка для каждого div с классом "рейтинг".

Дополнение (следующее из комментариев ниже):

Если в классе помимо "рейтинга" есть другой, дополнительный текст, то можно использовать что-то вроде этого:

//div[contains(concat(' ', normalize-space(@class), ' '), ' rating ')]

(Подсказка к Как я могу сопоставить атрибут, который содержит определенную строку?).

Ответ 2 · рейтинг -1 · Navin Rawat

Вы должны использовать:

let $XML := <p><div class="rating" title="2.0 stars">sdfd</div><div class="rating" title="1.0 stars">sdfd</div></p>
for $title in $XML//@title
return
  <p>{data($title)}</p>

чтобы получить вывод:

<p>2.0 stars</p>
<p>1.0 stars</p>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы