我有以下xml结构:
<a>
<b>
<c>foo</c>
</b>
<d>foo</d>
</a>
Run Code Online (Sandbox Code Playgroud)
我需要<b>从xml中删除标签.
所以,xml应该是这样的,最后:
<a>
<d>foo</d>
</a>
Run Code Online (Sandbox Code Playgroud)
我试过使用Enrich Mediator,wso2 6.1,但我没有成功.
有人可以帮忙弄清楚如何删除此标签?
谢谢!
你不能轻易地删除富含中介的子元素.如果您的有效负载是这样的:
<Body>
<b>
<c>foo</c>
</b>
<d>foo</d>
</Body>
Run Code Online (Sandbox Code Playgroud)
选择第二个标签并用它替换身体将是一件简单的事情:
<enrich>
<source clone="true" xpath="$body/d"/>
<target type="body"/>
</enrich>
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,由于您需要从中删除子元素,因此<a>可能需要使用脚本调解器来执行此操作:
<script language="js"><![CDATA[
var message = mc.getPayloadXML();
delete message.b;
mc.setPayloadXML(message);
]]></script>
Run Code Online (Sandbox Code Playgroud)
哪个会得到你想要的结果.
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |