基本上我有一份总统名单,我只对尼克松的联系感兴趣而不是克林顿或奥巴马。 我所发现的是,我所做的过滤会返回正确数量的总统(在这种情况下为1),但会返回所有的链接,而不仅仅是尼克松的链接。
HTML:
<a href="#" name="obama"></a> <div class="headlineBlock">
<h2>Obama</h2>
<p class="tudor"><strong>Conditions:</strong> Always sunny </p>
<table class="resultGrid"><tr> <td class="first">
<h4><a href="http://www.thelinkiwant.com?params" title="Click to view result"</a></h4>
<a href="#" name="nixon"></a> <div class="headlineBlock">
<h2>Nixon</h2>
<p class="nixon"><strong>Conditions:</strong> Sometimes late </p>
<table class="resultGrid"><tr> <td class="first">
<h4><a href="http://www.thelinkiwant.com/?params" title="Click to view result"</a></h4>
<a href="#" name="clinton"></a> <div class="headlineBlock">
<h2>Clinton</h2>
<p class="tudor"><strong>Conditions:</strong> Never rainy </p>
<table class="resultGrid"><tr> <td class="first">
<h4><a href="http://www.thelinkiwant/?params" title="Click to view result"</a></h4>
XPATH:
$x("//div[@class='headlineBlock']/h2[not(contains('|Clinton|Obama|',concat('|',.,'|') ))]//../../table/a/@href")
答案 0 :(得分:0)
您的示例有几个问题。
在单击“单击以查看结果”之后缺少括号,您的“headlineBlock”div和表格未关闭等等。首先,您应该确保数据格式正确。
W3C's Xml Validator can help with that
你的XPath看起来很好,我认为问题出在最后的//
- 它们有点太早了。试试这个:
//div[@class='headlineBlock']/h2[not(contains('|Clinton|Obama|',concat('|',.,'|') ))]/..//a/@href
// DIV [@类= 'headlineBlock']
类headlineBlock的所有div ...
/ h2 [not(contains('| Clinton | Obama |',concat('|',。,'|')))]
......不包含某些条款。
/ ..
上一级(现在我们再次在div headlineBlock
)
//一个
元素类型a
/ @ HREF
H-Ref属性