条件XPath匹配

时间:2010-10-07 02:34:15

标签: xml xpath

我有一些看起来像这样的xml ......

   <tbody>
     <tr>
       <td>
         <h5>
           <a class="foo" name="bar">This is the element I want to condition on.</a>
         </h5>
       </td>
    </tr>
    <tr>
      <td>
        <a href="/generic/generic">This is the element I want to match on</a>
      <td>
      <td></td>
      <td></td>
   </tr>
  <tbody>

如何匹配第二个只有第一个名称属性为“bar”,使用xpath?

1 个答案:

答案 0 :(得分:3)

这个表达式可以工作......

//tr[preceding-sibling::tr/td/h5/a/@name = 'bar']/td/a

但是XML中也存在一些错误。这是一个经过编辑的版本:

<tbody>
     <tr>
       <td>
         <h5>
           <a class="foo" name="bar">This is the element I want to condition on.</a>
         </h5>
       </td>
    </tr>
    <tr>
      <td>
        <a href="/generic/generic">This is the element I want to match on</a>
      </td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
  </tbody>