2014-10-05 38 views
0

我試圖從一個div中提取文本,但不包括給定類:的XPath排除給予

這是我嘗試:

$pattern = "//div/@title[not(contains (@class, 'second_card local_impact_icon impact-2'))]"; 

但不排除給定的類,我只需要提取標題=''的文本,但只是從第一個div標題。

這是HTML:

<div class="match_info"><div title='Yellow Card' class='local_impact_icon impact-1'></div><div title='Red Card' class='second_card local_impact_icon impact-2'></div></div> 

回答

2

以下XPath

//div/div[not(contains (@class, 'second_card local_impact_icon impact-2'))]/@title 

回報

title="Yellow Card" 

簡單的解釋 - 只是選擇不包含您希望類的DIV僅排除和檢索此div的標題屬性。當您在位置../@title處設置此排除項時,您已經在兩個div的標題屬性中。

而且隨着問題是如何檢索文本 - 在給定的例子

string(//div/div[not(contains (@class, 'second_card local_impact_icon impact-2'))]/@title) 

回報Yellow Card

+0

它的工作。感謝您的解決方案。 – Marx 2014-10-05 14:27:57

+0

@馬克斯很高興幫助你。只是想問,如果你想排除只有**這兩個**類的div或只有至少有「second_card」類的每個div,因爲我認爲這可能是一個問題。那麼最好有兩個「不包含」語句分別檢查兩個類。 – 2014-10-05 14:31:17

+0

只是兩個班,謝謝你反正問。 – Marx 2014-10-07 15:18:00