2014-02-25 135 views
1

我有一個從兩個和平的HTML獲取Xpath的問題,但它們顯示相同的信息。Xpath選擇器在html中的問題

標記一個

<td class="tdRow1Color" width="100%"> 
<table width="100%" cellpadding="0" cellspacing="0" border="0"> 
    <tr><td class="plaintextbold">Item Number:&nbsp;1258</td></tr> 
     <tr><td><img alt="" src="images/clear.gif" width="1" height="10" border="0"></td></tr> 
    <tr> 
     <td class="plaintext" valign="middle">&nbsp;<img src="../images/0note.gif" border="0" align="absmiddle">&nbsp;<a class="prodlink" href="writeReview.asp?number=1258"><i><u>Be the first to review this item</u></i></a></td> 
      </tr> 
       <tr><td><img alt="" src="images/clear.gif" width="1" height="10" border="0"></td></tr>      
     <tr><td class="plaintext"><b>RRP £50.00 - Now £39.99</b>   </td> 

馬克兩個

<tr><td class="tdRow1Color" width="100%"> 
    <table width="100%" cellpadding="0" cellspacing="0" border="0">   
     <tr><td class="plaintextbold">Item Number:&nbsp;2525</td></tr> 
      <tr><td><img alt="" src="images/clear.gif" width="1" height="10" border="0"></td></tr> 
       <tr> 
       <td class="plaintext" valign="middle">&nbsp;<img src="../images/0note.gif" border="0" align="absmiddle">&nbsp;<a class="prodlink" href="writeReview.asp?number=2525"><i><u>Be the first to review this item</u></i></a></td> 
       </tr> 
       <tr><td><img alt="" src="images/clear.gif" width="1" height="10" border="0"></td></tr> 
       <tr><td class="plaintext">RRP £45 - Now £38      </td></tr> 

這我有是因爲兩個標記是不同的才能到RRP價格問題不在於做什麼工作的我我正在使用xpath

"//td[@class='tdRow1Color']/descendant::td | //td[@class='tdRow1Color']/descendant::b " 

但是,這似乎並沒有工作我只是想知道是否有任何w當他們擁有<b>以及當它剛好在<td class "plaintext" > RRP之後時,獲得RRP價格。感謝您提供的任何建議

回答

1

您的輸入HTML中有多個<td class="plaintext">,不僅適用於RRP。所以我建議你在XPath文本節點的開頭測試「RRP」字符串。

像這樣的東西應該在這兩種情況下工作:

//td[@class='tdRow1Color']//td[@class='plaintext']//text()[starts-with(., 'RRP')] 
0

以下XPath爲我工作:

(//td[@class='tdRow1Color']/descendant::td[last()] | //td[@class='tdRow1Color']/descendant::b[last()])/text()