XPATH для исключения определенных URL с подстановочными знаками - PullRequest
4 голосов
/ 28 января 2012

У меня есть следующий выбор XPATH.

// BLOCKQUOTE [@ class = 'постконтентное восстановление'] / A

Теперь я хочу исключить некоторые ссылки, используя подстановочные знаки.1006 * Где атрибут @href! = "http://domain.com/download.php * '

Как мне это сделать?

1 Ответ

3 голосов
/ 28 января 2012

Использование :

//BLOCKQUOTE[@class='postcontent restore ']
      /A[@href = 'http://domain.com/download.php']

Выбирает любой элемент A в документе XML, чей атрибут href равен 'http://domain.com/download.php' и является дочерним для любого BLOCKQUOTE элемент в документе XML, чей атрибут class имеет строковое значение 'postcontent restore '

Если вы хотите, чтобы выбранные ссылки имели любой URL, указывающий на этот домен, используйте:

//BLOCKQUOTE[@class='postcontent restore ']
      /A[starts-with(@href, 'http://domain.com/download.php')]

Обновление : в комментарии ОП уточняется:

Я хочу исключить ... все, что начинается с этой ссылки / URL

Использование :

//BLOCKQUOTE[@class='postcontent restore ']
      /A[not(starts-with(@href, 'http://domain.com/download.php'))]
...