使用dataweave创建XML片段(即删除根元素) [英] create xml snippet using dataweave (i.e. remove root element)

查看:19
本文介绍了使用dataweave创建XML片段(即删除根元素)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要这样的输出

</b>
 <c>
            <value1 />
</c>  
 <c>
            <value2 />
</c>  
 <c>
            <value3/>
</c>

而不是此

<a>
    </b>
     <c>
                <value1 />
    </c>  
     <c>
                <value2 />
    </c>  
     <c>
                <value3/>
    </c>
</a>

通过数据编织。我理解输出不一定是完全有效的XML

感谢任何帮助

xml

因为它将缺少单个根元素,所以它将不是有效的推荐答案。所以DataWeave将不能直接读写它。您可以为每个元素生成一个XML,并将它们连接为字符串,以避免出现XML分析错误。

输入无效,我将其修复为:

<a>
   <b/>
   <c>
      <value1 />
   </c>  
   <c>
      <value2 />
    </c>  
   <c>
      <value3/>
   </c> 
</a>

脚本:

%dw 2.0
output application/java
---
(payload[0] pluck (value,key,index) -> {(key):value} )
    reduce ((item, acc="") -> acc ++ write(item, "application/xml",  {"writeDeclaration":false}) ++ "
" ) 

输出:

<b/>
<c>
  <value1/>
</c>
<c>
  <value2/>
</c>
<c>
  <value3/>
</c>
请注意,我在每个字符串的末尾添加了一个换行符("; ";)为了清楚起见。如果需要,您可以将其删除。

这篇关于使用dataweave创建XML片段(即删除根元素)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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