【问题标题】:XPath Param Value Is Not Evaluating In ExpressionXPath 参数值不在表达式中计算
【发布时间】:2022-01-27 14:29:30
【问题描述】:

@Value='1' 似乎没有在下面的表达式中进行评估,因为它返回 SEventData 的两个节点,而不是只返回一个 @Value 为“1”的节点。我错过了什么?

来源:

<CData>
<SData SKey="006" >

<SEventData SEventOID="UNS" SEventRepeatKey="2">
<FData FOID="REQUIRED" FRepeatKey="1">
<ItemGroupData ItemGroupOID="REQUIRED" ItemGroupRepeatKey="0" 
TransactionType="Upsert">
<ItemData ItemOID="REQ" Value="0"  />
</ItemGroupData>
</FData>
</SEventData>

<SEventData SEventOID="UNS" SEventRepeatKey="3">
<FData FOID="REQUIRED" FRepeatKey="1">
<ItemGroupData ItemGroupOID="REQUIRED" ItemGroupRepeatKey="0" 
TransactionType="Upsert">
<ItemData ItemOID="REQ" Value="1"  />
</ItemGroupData>
</FData>
</SEventData>

</SData>
</CData>

有表情

//CData[.//SData[@SKey='006']/SEventData/FData/ItemGroupData/ItemData[@ItemOID='REQ' and @Value='1']]//SEventData    

返回两个而不是一个

Element='<SEventData SEventOID="UNS" SEventRepeatKey="2">
  <FData FOID="REQUIRED" FRepeatKey="1">
     <ItemGroupData ItemGroupOID="REQUIRED"
                 ItemGroupRepeatKey="0"
                 TransactionType="Upsert">
        <ItemData ItemOID="REQ" Value="0"/>
     </ItemGroupData>
  </FData>
</SEventData>'
Element='<SEventData SEventOID="UNS" SEventRepeatKey="3">
  <FData FOID="REQUIRED" FRepeatKey="1">
     <ItemGroupData ItemGroupOID="REQUIRED"
                 ItemGroupRepeatKey="0"
                 TransactionType="Upsert">
        <ItemData ItemOID="REQ" Value="1"/>
     </ItemGroupData>
  </FData>
</SEventData>'

【问题讨论】:

    标签: xpath


    【解决方案1】:

    您可以使用此 XPath 来定位您要查找的内容:

    //SEventData[.//FData/ItemGroupData/ItemData[@ItemOID='REQ' and @Value='1']]
    

    您当前的 XPath 表达式返回根节点 //CData,其中包含以下条件:.//SData[@SKey='006']/SEventData/FData/ItemGroupData/ItemData[@ItemOID='REQ' and @Value='1']
    所以是的,//CData 在其中包含上述条件,当您尝试在该//CData 中找到//SEventData 时,它会返回两个//SEventData 节点。
    您应该在这里做的是根据我在开头写的情况定位//SEventData节点本身:

    //SEventData[.//FData/ItemGroupData/ItemData[@ItemOID='REQ' and @Value='1']]
    

    【讨论】:

      猜你喜欢
      • 2013-05-14
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 2017-02-08
      相关资源
      最近更新 更多