Просто быстрый вопрос о разнице между xpath 'not' и '! =' В следующем содержании.
Принимая XML:
<years>
<year value="2010"></year>
<year value="2010"></year>
<year value="2010"></year>
<year value="2009"></year>
</years>
Я хочу выбрать уникальные годы. Некоторое время я боролся за это, но в конце концов справился, но странным образом этого не ожидал.
Следующий xpath является правильным для моего намерения и возвращает два уникальных года узлов 2009 и 2010.
years/year[not(@value = preceding-sibling::year/@value)]
Следующее возвращает только узел 2009 года.
years/year[@value != preceding-sibling::year/@value]
Единственная разница между ними - операторы! =, А не операторы. Некоторое время я размышлял над этим и не могу найти разницу, которую мог бы удовлетворительно объяснить кому-либо еще.
Возможно, кто-то может помочь.
Приветствия
Steve