使用 xpath wso2 删除外部标签 [英] Remove external tag with xpath wso2
问题描述
如何在 wso2 中使用 xpath 实现此目的?
how can I achieve this with xpath in wso2?
示例:
<TEMP>
<NAME>GEORGE</NAME>
<COGNOME>MENDEZ</COGNOME>
<BUSINESSNAME/>
<CHANNEL>X091</CHANNEL>
</TEMP>
结果:
<NAME>GEORGE</NAME>
<COGNOME>MENDEZ</COGNOME>
<BUSINESSNAME/>
<CHANNEL>X091</CHANNEL>
谢谢
推荐答案
生成的 XML 需要有一个根元素.因此,您将无法创建以下没有根元素的负载.
The XML generated needs to have a root element. Therefore you will not be able to create the following payload, which does not have a root element.
<NAME>GEORGE</NAME>
<COGNOME>MENDEZ</COGNOME>
<BUSINESSNAME/>
<CHANNEL>X091</CHANNEL>
更新
根据我所理解的评论,您将以下有效负载保存在属性中.
As per the comments given what I understand is that, you have the following payload saved in a property.
<ELEMENT>
<ELEMENT_2>
<ELEMENT_3>
<ID>173993</ID>
</ELEMENT_3>
</ELEMENT_2>
</ELEMENT>
还有一个payload如下.(我使用了一个端点调用来获取以下有效负载)
There is another payload as follows. (I have used an endpoint call to get the following payload)
<TEMP>
<NAME>GEORGE</NAME>
<COGNOME>MENDEZ</COGNOME>
<BUSINESSNAME/>
<CHANNEL>X091</CHANNEL>
</TEMP>
基于此负载,您需要丰富初始属性以具有以下负载.
Based on this payload you need to enrich the initial property to have the following payload.
<ELEMENT>
<ELEMENT_2>
<ELEMENT_3>
<ID>173993</ID>
</ELEMENT_3>
<NAME>GEORGE</NAME>
<COGNOME>MENDEZ</COGNOME>
<BUSINESSNAME />
<CHANNEL>X091</CHANNEL>
</ELEMENT_2>
</ELEMENT>
您可以检查以下示例代理并检查是否可以达到您的要求.
You can check the following sample proxy and check whether you can achieve your requirement.
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="enrichProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property name="initial_payload" scope="default">
<ELEMENT xmlns="">
<ELEMENT_2>
<ELEMENT_3>
<ID>173993</ID>
</ELEMENT_3>
</ELEMENT_2>
</ELEMENT>
</property>
<call>
<endpoint>
<http uri-template="http://run.mocky.io/v3/7c578a1d-5427-4325-9f00-4ad7bb80dd04"/>
</endpoint>
</call>
<log level="custom">
<property expression="$body//TEMP/*" name="******"/>
</log>
<respond/>
</inSequence>
</target>
<description/>
</proxy>
这篇关于使用 xpath wso2 删除外部标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!