点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我想使用groovy脚本在聚合后从xml有效负载中删除特定元素。
下面是聚合后的示例XML有效负载。
我想从xml中删除
http://sap.com/xi/XI/SplitAndMerge">
>
<记录>
<行>
<记录>
<行>
我正在尝试下面的代码,但出现类没有此类属性的错误。
导入groovy.util.XmlSlurper;
import groovy.xml.XmlUtil;
def消息processData(消息消息){def root = new XmlParser()。parseText(message.getBody(java.lang.String));
root.Message1.Records.remove(Type)
message.setBody(XmlUtil.serialize(root));
退货信息; }
您能指导我做错什么吗?
谢谢,
Shubham
嗨,Shubham,
如果您想用Groovy解决它,那么您必须注意名称空间前缀。 另外,您应该使用replaceNode函数并将节点替换为什么,而不是remove函数:
如果要保存一些字符,也可以使用" **"代替给出完整路径。 (只要您的XML中的另一个XPath/级别上没有类型元素,此方法就起作用。)
此致,
Raffael
您好,Shubham,
如果要实现这一点,我将使用XSLT映射。 在互联网上足够的例子。
致谢
Tom
您好Shubham
您没有要求Groovy,但要求 T。 van Rooijen 提到,这个问题非常适合XSLT。 您可以按以下方式解决它:
这会进行身份转换,即将输入直接复制到输出中。 但是,它会使用空白模板覆盖Type元素,并将其从输出中删除。
它当然也可以在Groovy中完成,但是我会让其他人听到钟声-分页Eng Swee Yeoh 和 Raffael Herrmann :- )
致谢,
Morten
感谢拉斐尔。 这工作了! :)
您好,Morten,
我想用Groovy做到这一点,因为我想对有效负载进行其他一些修改。
Groovy帮助我在 单个脚本。
感谢标记Raffael,他的建议对我有用!
致谢,
休巴姆
一周热门 更多>