1、標簽中只包含文字
<div> <ul id="side-menu"> <li class="active"> <a href="#"> 卷期號: </a> </li> </ul> </div>
取包含 '卷期號' 三個字的節點 //ul[@id='side-menu']/li/a[contains(text(),"卷期號")]
取其內容 //ul[@id='side-menu']/li/a[contains(text(), '卷期號')]/text()
運行結果:
2、文字沒有被一個明確的標簽包裹
<div> <ul id="side-menu"> <li class="active"> <a href="#"> <i>DOI</i> 卷期號: <span>xxxx</span> </a> </li> </ul> </div>
再用上邊的xpath表達式就到不到了, 不過可以借助string(), 將a標簽里邊的東西全部轉換成字符串, 再用contains判斷:
//ul[@id='side-menu']/li/a[contains(string(), '卷期號')]/text()
運行結果: