使用 xpath wso2 删除外部标签 [英] Remove external tag with xpath wso2

查看:26
本文介绍了使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆