2014-10-06 86 views
0

我有以下的HTML結構(也有采用相同的架構多塊):的Xpath - 基於節點()匹配包括()內容

<span id="mySpan"> 
    <i> 
    Price 
    <b> 
     3 900 
     <small>€</small> 
    </b> 
    </i> 
</span> 

現在,我想用得到的<b>內容我試過的Xpath如下:

//span[@id="mySpan"]/i/node()[1][contains(text(),"Price")] 

它確實匹配任何東西。我如何使用node()[1]文本作爲錨點來匹配這個文本?

回答

0

關於你嘗試過它會返回文本子節點中的XPath,而不是text(),只需使用.

//span[@id="mySpan"]/i/node()[1][contains(.,"Price")] 

爲終極目標,我建議這個XPath:

//span[@id="mySpan"]/i[contains(.,"Price")]/b 

或如果您想特別匹配第一個節點<i>

//span[@id="mySpan"]/i[contains(node(),"Price")]/b