2012-06-02 40 views
0

我想在下面的HTML中的每一行中選擇文本()。但是,我想要的文本或者位於元素的td元素或p元素,所以我必須編寫兩條語句以確保選中每行。如何將XPATH「select // td/text()或// td/p/text()」合併爲一個句子?

如何將兩個語句合併爲一個?

XPATH:

//table/tr/td[not(p)]/text() | //table/tr/td/p/text() 

隨着期望的結果:

['1', '2', '3', '4'] 

原始的HTML:

<table> 
    <tr> 
    <td>1</td> 
    </tr> 
    <tr> 
    <td> 
     <p>2 
    </td> 
    </tr> 
    <tr> 
    <td>3</td> 
    </tr> 
    <tr> 
    <td> 
     <p>4 
    </td> 
    </tr> 
</table> 

回答

0

也許你想是這樣的:

//table/tbody/tr/td//text()[normalize-space()] 

找到//table/tr/td中一個或多個深度的所有非空白文本節點。

+0

它的工作原理!謝謝! –

+0

@Leonard,不客氣 –

相關問題