2017-01-29 59 views
1

嘿,我有以下的html:Xpath的選擇特定列表中的元素

<ul> 
 
<li><strong>Telefon:</strong></li> 
 
<li>211 600</li> 
 
<li>330 233</li> 
 
<li><strong>Fax:</strong></li> 
 
<li>336 884</li> 
 
<li><strong>e-mail:</strong></li> 
 
<li>[email protected]</li> 
 
</ul>

我的問題是一個怎麼會在這裏u不知道的情況下,選擇2個電話號碼,如果有大膽的下一個li元素文本是「傳真:」,如果下一個元素甚至存在?

回答

1

所以,你想要得到的任何文本內容li其前兄弟爲li,其文字內容爲Telefon:,但沒有前面兄弟的文字內容爲Fax:

//ul/li[preceding-sibling::li[.='Telefon:']][not((self::li|preceding-sibling::li)[.='Fax:'])]/text() 
0
//ul/li/text() 

這將返回下li標籤文本的列表,你可以用切片獲得的電話號碼

出來:

Text = 211 600 
Text = 330 233 
Text = 336 884 
Text = [email protected]