使用通配符排除特定 url 的 XPATH

4
我有以下XPATH选择。
//BLOCKQUOTE[@class='postcontent restore ']/A
现在我想使用通配符排除某些链接。
其中属性@href!="http://domain.com/download.php *'
我该怎么做?
1个回答

3

用途:

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

这个选择器会选中XML文档中的任何A元素,且该元素的href属性值为'http://domain.com/download.php',并且是XML文档中的任何BLOCKQUOTE元素的子元素,该元素的class属性具有字符串值'postcontent restore '

如果你想要选中任何指向该域名的URL,请使用:

//BLOCKQUOTE[@class='postcontent restore ']
      /A[starts-with(@href, 'http://domain.com/download.php')]
更新: 在评论中,OP澄清道:

我想排除...任何以该链接/ URL开头的内容

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

谢谢回复……我想排除......任何以那个链接/ URL开头的东西.....我尝试了以下运算符!=,但它仅适用于特定的链接,我想使用通配符排除以http://domain.com/download.php开头的网址,因此像http://domain.com/download.php?11- http://domain.com/download.php?25 - http://domain.com/download.php?32的URL会被排除在选择之外。 - user204245

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接