2016-04-29 6 views
0

Ich versuche, Forenbeiträge (message2) zu extrahieren, während ich die blockquote (message1) loswerde. Hier ist der HTML (post Inhalt geändert/vereinfacht):Blockquote aus Forumsbeitrag mit xpath ausschließen

<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>

ich mit der folgenden XPath-Abfrage Ich versuche:

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

Aus irgendeinem Grund gibt diese Abfrage jedoch alle nachfolgenden Posts unter demselben Case statt nur cu zurück rrent node -so, die obigen als eine Referenz nehmend, wären die zurückgegebenen Ergebnisse: message2 message2 message2 message2 und so weiter (Gesamtanzahl N von Nachrichten).

Gibt es eine Möglichkeit, eine Nachricht auf einmal zu bekommen? Vielen Dank!

Antwort

1

Gibt es eine Möglichkeit, eine Nachricht auf einmal zu bekommen?

Ja;) verwenden:

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

für die erste. Und [n] mit n = 1..x für die anderen.

+0

Vielen Dank! Ich habe versucht mit .//div[@class="ipsType_normal ipsType_richText ipsContained "]/p [nicht (@ class =" ipsQuote ")] und es hat funktioniert! –

Verwandte Themen