2012-05-01 58 views
1

如何構建一個xpath表達式,其中我希望獲得元素後面的<p>元素與子元素<強>元素與文本「關於此事件:」。如何使用特定文本爲另一個元素編寫xpath表達式?

換句話說,什麼路徑表達式會給我「<p>」元素與「你好」之後的案文的<P>與<強>下面的文字...

<p> 
    <strong>About this event:</strong> 
    … 
</p> 
<p>Hello</p> 

? -

回答

2
//p[strong[.='About this event:']]/following-sibling::p 

//p[strong[.='About this event:']]/following-sibling::p[.='Hello'] 
+1

你錯過了']'之前'/跟隨着第二選擇...' –

+0

我修正了它。你爲什麼不自己修復它? –

+1

我想你至少需要2000個編輯來編輯其他用戶的帖子(@alehdouhi還沒有)。 –

1

試試這個:

//p[normalize-space(strong)='About this event:']/following-sibling::p 

您也可以縮小下來到第一p加入[1]

//p[normalize-space(strong)='About this event:']/following-sibling::p[1] 
0

我相信這應該是做,能。下面是Perl的xpath工具的輸出:

so zacharyyoung$ xpath so.xml '//p[strong = "About this event:"]/following-sibling::p[1]' 
Found 1 nodes: 
-- NODE -- 
<p>Hello</p> 

的XPath是​​3210

相關問題