用于确定 SAP PI 中的接收者的 XPATH 表达式

XPATH Expression to determine the receiver in SAP PI

我有一个要求,我需要根据 SAP PI XPATH 表达式中的条件确定接收者。有人可以帮忙吗

除了: - 当值的最后一段在 <Biztransaction> 中包含字符串“.008”并且 <bizStep> 包含单词“commissioning” - 或

当值的最后一段包含 <Biztransaction> 中的字符串“.008”并且 <bizStep> 包含单词“receiving”

严格来说,以下 XPath 应该有效:

//bizTransaction[@type="urn:epcglobal:cbv:btt:prodorder"]|//bizTransaction[@type="urn:epcglobal:cbv:btt:resadv"][contains(.,".008")][preceding::bizStep[1][not(contains(text(),"commissioning") or contains(text(),"receiving"))]]

输出:2 个节点

我们使用 | 运算符来 "join" 2 个表达式。第一部分将 select "bizTransaction" 元素关于 1 个条件 ("urn:epcglobal:cbv:btt:prodorder")。第二部分将 select "bizTransaction" 元素关于 3 个条件:"urn:epcglobal:cbv:btt:resadv"、".008" 和不包含 2 个特定关键字的 "bizStep" 元素("commissioning" 或"receiving").