0

我正在寻找一个 XPath 表达式,它选择him具有父级的 s,具有相同根名称且具有后缀gramps的 's with ,并且有一个看起来像是以 a 命名的。在下面的示例中,这将只是.namehimsJrstore namegrampsBill

<root>

<gramps name="Bill">
   <him name="Bill Jr">
      <kid name="Bill III"></kid>
   </him>
</gramps>
<gramps name="Tom">
   <him name="Al">
      <kid name="Al Jr"></kid>
   </him>
</gramps>
<gramps name="Bob">
   <him name="Bob Jr">
      <kid name="Sam"></kid>
   </him>
</gramps>

<store name="Bill's" />
<store name="Tom's" />
<store name="Pete's" />

</root>
4

1 回答 1

2

我认为这将选择您需要的...

/*/gramps[../store/@name=concat(@name,"'s")]/him[@name=concat(../@name,' Jr')]

这将选择Bill Jr,因为您说要选择him.

如果要选择gramps( Bill),只需him输入谓词...

/*/gramps[../store/@name=concat(@name,"'s")][him[@name=concat(../@name,' Jr')]]
于 2013-10-05T04:53:07.407 回答