我正在编写一个Mule流程,它希望xml作为输入有效负载并通过http端点返回xml输出。我正在对传入的xml执行一些验证,如果它失败了,我想通过一些修改返回相同的xml。
incoming xml:
<test>
<a>1</a>
<b>value1</b>
</test>
output xml:
<test>
<a>2</a>
<b>value2</b>
</test>
<test>
<a>1</a>
<b>value1</b>
</test>
如何更新Mule流程中的xml值?
答案 0 :(得分:0)
到目前为止,最简单的方法是使用JAXB,它在Mule中很快,然后你可以使用java来访问它。
使用This Tool构建XML架构
使用XJC从中创建JAXB对象。
然后在Mule中,您将使用XML到JAXB Object转换器,随意执行任何操作,然后使用JAXB Object将其发送到XML转换器。
答案 1 :(得分:0)
如果您需要验证传入的 XML ,您可以使用Mule中的 XPATH 从XML中提取节点值...这里是参考: - { {3}}
如果要使用现有架构验证输入XML,可以使用Mule 架构验证过滤器 ...参考: - https://developer.mulesoft.com/docs/display/current/XPath
现在,关于更新/修改xml,您可以使用 XSLT trans former在Mule中执行此操作..参考: - https://developer.mulesoft.com/docs/display/current/Schema+Validation+Filter