Я хотел бы использовать xquery (я полагаю) для вывода текста из атрибута title элемента html.
Пример:
<div class="rating" title="1.0 stars">...</div>
Я могу использовать xpath для выбора элемента, но он пытается вывести информацию между тегами div. Я думаю, мне нужно использовать xquery для вывода текста "1.0 звезд" из атрибута title.
Должен быть способ сделать это. Мои навыки Google оказываются неэффективными при поиске ответа.
Спасибо.
Ответ 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>