Я хотел бы, как использовать "не" в XPath правильно. Я просто, может казаться, не заставляю это работать с атрибутами.
Скажите, что у меня есть это выражение: //*[@name = 'Bob']
Это допустимо, и возвратит все узлы, которые имеют атрибут имени, равняющийся 'Bob'.
Теперь, если я хочу все узлы, которые имеют атрибут имени, которые не равняются 'Bob', я должен использовать XPath, такой как: //*[@name not(='Bob')]
но это недопустимо.
Я попробовал несколько комбинаций с не () помещаемый в другой порядок, но я, может казаться, не заставляю это работать. Кто-то мог сообщить мне, как использовать не () правильно?
Кроме того, порядок изменяется при использовании элементов вместо атрибутов? Такой как: //name[text() = 'Bob']
Спасибо! :)
Согласно: http://msdn.microsoft.com/en-us/library/ms256086.aspx , вы пробовали
//*[@name != 'Bob']
Попробуйте
//*[@name != 'Bob']
или
//*[not(@name = 'Bob')]
, должны работать оба.