Использовать индекс после фильтра на xpath
У меня есть следующий фрагмент XML.
<root>
<site type="main">
<link>http://stackexchange.com</link>
</site>
<site type="qa">
<link>http://stackru.com</link>
</site>
<site type="qa">
<link>http://superuser.com</link>
</site>
<site type="">
<link>http://data.stackexchange.com</link>
</site>
</root>
Я хочу выбрать первую ссылку на сайт типа "qa". Я думаю //site[@type="qa"][1]
должен сделать это. Но идентификатор не работает.
1 ответ
Решение
Попробуй (//site[@type="qa"])[1]/link/text()
,
Или, альтернативно:
//site[@type="qa"][position()=1]/link/text()
Протестировано на http://www.xpathtester.com/, результаты в http://stackru.com
,