2016-04-29 67 views
0

我試圖在擺脫blockquote(message1)的同時提取論壇帖子(message2)。下面是HTML(帖子內容修改/簡體):從xpath的論壇帖子中排除blockquote

<div class="cPost_contentWrap ipsPad"> 
 
         <div data-controller="core.front.core.lightboxedImages" class="ipsType_normal ipsType_richText ipsContained" itemprop="text" data-role="commentContent"> 
 
         <blockquote data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="40244" data-ipsquote-contenttype="forums" data-ipsquote-contentapp="forums" data-cite="aries_gurl" data-ipsquote-username="aries_gurl" data-ipsquote-contentcommentid="584324" class="ipsQuote" data-ipsquote=""> 
 
          <div> 
 
          (message1) 
 
          </div> 
 
         </blockquote> 
 

 
         <p>(message2)</p> 
 
         </div>

我用下面的XPath查詢嘗試:

// DIV [@類=「ipsType_normal ipsType_richText ipsContained 「]/p [not(@ class =」ipsQuote「)]

但是,由於某些原因,此查詢將返回同一個案件下的所有後續帖子,而不僅僅是cu rrent node -so,以上述爲參考,返回的結果爲:message2 message2 message2 message2,依此類推(總共N個消息)。

有沒有一種方法可以一次獲得一條消息?謝謝!

回答

1

有沒有一種方法可以一次獲得一條消息?

是;)使用:

(//div[@class="ipsType_normal ipsType_richText ipsContained"]/p[not(@class="ipsQuote")])[1] 

爲第一個。並且其他n = 1..x的[n]。

+0

非常感謝!我嘗試過.//div[@class="ipsType_normal ipsType_richText ipsContained「]/p [not(@ class =」ipsQuote「)],它工作正常! –