将属性值与XPath中同一节点中的子值进行比较

时间:2018-04-04 01:02:26

标签: xml xpath

所以,这是XML的一个例子

<Grid>
  <GridRow ItemValue="10" ItemType="A">
    <YS_P_Name>L2</YS_P_Name>
    <YS_P_BK>10</YS_P_BK>
  </GridRow>
  <GridRow ItemValue="10" ItemType="A">
    <YS_P_Name>L3</YS_P_Name>
    <YS_P_BK>20</YS_P_BK>
  </GridRow>
  <GridRow ItemValue="30" ItemType="B">
    <YS_P_Name>L1</YS_P_Name>
    <YS_P_BK>40</YS_P_BK>
  </GridRow>
</Grid>

我需要找到 Grid 的所有子项,其中 ItemValue NOT YS_P_BK 相同,使用 ItemType A.我试过循环,following::child::都不起作用......那么,有什么建议吗?

示例:/Grid/*[@ItemType='A' and @ItemValue != self::YS_P_BK::text()]

1 个答案:

答案 0 :(得分:1)

这个XPath,

/Grid/*[@ItemType="A" and @ItemValue != YS_P_BK]

将选择Grid的所有子级ItemType属性值为"A"ItemValue属性值不等于其YS_P_BK子级的字符串值元件。

相关问题