Я предполагаю, что последние новости находятся наверху.
Используйте
(//item)[not(position() > 10)]/*
[self::title or self::description
or self::link or self::pubDate or self::category
]
Объяснение
Это выражение выбирает все элементы title
, description
, link
, pubDate
и category
, являющиеся потомками одного из первых 10 item
элементов в документе XML.
Часто задаваемые вопросы и часто совершаемая ошибка - пытаться выбрать первый (или любой элемент позиции, скажем, item
):
//item[1]
При этом выбираются все элементы item
в документе, которые являются первыми дочерними элементами их родителя, и таких элементов item
может быть много.
Выражение XPath, которое выбирает только первый элемент item
в документе:
(//item)[1]
Правило запоминания : оператор []
имеет более высокий приоритет (связывает сильнее), чем сокращение //
.