У меня есть xml, который содержит две группы связанных значений:
<Rows>
<!-- first group -->
<Row>
<Sequence>100</Sequence>
<Value>+</Value>
</Row>
<Row>
<Sequence>105</Sequence>
<Value>+</Value>
</Row>
<Row>
<Sequence>110</Sequence>
<Value>-</Value>
</Row>
<!-- second group -->
<Row>
<Sequence>150</Sequence>
<Value>20</Value>
</Row>
<Row>
<Sequence>155</Sequence>
<Value>15</Value>
</Row>
<Row>
<Sequence>160</Sequence>
<Value>90</Value>
</Row>
</Rows>
Каждый элемент 1-й группы связан с элементом 2-й группы: sequence -> sequence + 50
Iнеобходимо получить набор узлов из 2-й группы, в которых связанные узлы из 1-й группы содержат знак + (узлы с последовательностями 150 и 155).
Эти узлы необходимы для будущей сортировки и перечисления.
/Rows/Row[contains(/Rows/Row[Sequence = (./Sequence - 50)]/Value, '+')]
Я пробовал описанный выше xpath, но не смог, поскольку ./ ссылается на текущий контекст (в вторых скобках), но мне нужен доступ к родительскому (в первых скобках).
Делать кому-либознаете решение для этого?
С уважением, Aikin
PS подстрока (./ Sequence - 50, 1, 3) используется для получения