jreed121
jreed121

Reputation: 2097

Selecting a cell in an HTML table by sibling cell value and column header

I've got an HTML table of which I cannot depend on how many rows and/or columns it will contain - so using index numbers is not possible. Here is an example of the table:

|Name|Description|Credit|Balance|
|Bob |    Rent   |400.00|1000.00|
|Jim |    Car    |100.00|4000.00|

Here is the HTML:

<table>
   <thead>
     <tr>
       <th>Name</th>
       <th>Description</th>
       <th>Credit</th>
       <th>Balance</th>
     </tr>
   </thead>
   <tbody>
     <tr>
       <td>Bob</td>
       <td>Rent</td>
       <td>400.00</td>
       <td>1000.00</td>
     </tr>
     <tr>
       <td>Jim</td>
       <td>Car</td>
       <td>100.00</td>
       <td>4000.00</td>
     </tr>
   </tbody>
</table>

I need to get the credit amount for which ever name I need.

Upvotes: 1

Views: 202

Answers (1)

jreed121
jreed121

Reputation: 2097

Got it:

//tr[td[.="Jim"]]/td[count(ancestor::table/thead/tr/th[.="Credit"]/preceding-sibling::*)+1]

Upvotes: 2

Related Questions