点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
亲爱的社区,
我在CPI流程中有如下所示的XML结构化消息,并且想要删除除第一个B3节点(及其子节点)以外的所有消息。 我怎样才能最好地做到这一点? 我在CPI中尝试了"过滤器",但没有成功,因为CPI不允许" ancestor-or-self :: div"语法访问父级。 " ::"为名称空间保留(错误:名称空间映射中未定义名称空间前缀祖先或自我)。 有什么办法可以逃脱这些特殊字符? 还是有更好的方法来实现所需的输出?
所需的输出:
Hello Kevin,
您将无法使用单个内容过滤器来实现此目的,您需要多播消息以使2个分支分别过滤B1节点和另一个B2,最后加入并聚集以得到 所需的输出。您可以在XSLT下面使用它来输出。
输入数据:
XSLT代码:
您还可以通过 Morten Wittrock 推荐博客,他很好地解释了相同的概念。
< p> https://blogs.sap。 com/2020/02/26/thinking-in-xslt-filtering-xml-elements/问候,
Sriprasad Shivaram Bhat
嗨,Sirprasad
如果我没记错的话,您的模板会删除所有 B3元素。 目标是删除除第一个以外的所有内容,因此我认为您的模板应该是:
嗨凯文,
如果您使用XSLT并仅选择第一个B3记录会有所帮助
/A/B3 [1]
-Yatan
没问题:)您很好地应用了该过滤器模式!
问候,
Morten
感谢 Morten Wittrock 的更正:)。不幸的是,我忽略了问题,并发布了XSLT,该XSLT删除了所有出现的 B3。将答案更新为现在正确的答案
致谢
Sriprasad Shivaram Bhat
一周热门 更多>