У меня есть документ HTML/XML, похожий на следующий. При переключении на другой цвет в произвольно повторяющемся шаблоне может быть один или несколько «tr» одного цвета. Это пример:XPath Выбор узлов до условия
<tr class='red'></tr>
<tr class='blue'></tr>
<tr class='red'></tr>
<tr class='red'></tr>
<tr class='red'></tr>
<tr class='blue'></tr>
<tr class='blue'></tr>
<tr class='red'></tr>
<tr class='red'></tr>
<tr class='blue'></tr>
То, что я ищу это (1,0) выражение XPath, которое, начиная с первого «тр» в любом цвете «блок» (обратите внимание, что нет нет разметки с указанием их блоки, только изменения в цвете), выбирает только следующие последующие «tr» внутри этого блока.
Я попытался следующее выражение
./following-sibling::tr[@class=preceding-sibling::tr[1]/@class]
, но это также выбирает второй + «ТР последующих блоков. Я чувствую, что я близок к тому, что мне нужно, но не могу справиться с этим.
Заранее спасибо.
Редактировать: желаемый результат представляет собой набор узлов, содержащий последующие «tr» внутри блока (и только тот блок).
Я немного смущен ... Можете ли вы также опубликовать желаемый результат? –
Так, например, если моя начальная точка была 3-й 'tr' (красный), я бы выбрал только 4-й и 5-й 'tr. – user1300244