【发布时间】:2017-12-07 22:37:00
【问题描述】:
我正在尝试使用 WSO2 ESB 版本 4.9.0 丰富 XML 节点的文本。
简单的 XML:
<enrich>
<source type="inline">
<query><where><order.id>0</order.id></where></query>
</source>
<target type="body" />
</enrich>
丰富:
<enrich>
<source type="property" property="uri.var.processId" />
<target action="replace" type="body" xpath="//order.id/text()" />
</enrich>
但输出看起来像这样:
<query xmlns="http://ws.apache.org/ns/synapse"><where><order.id>0</order.id></where>SOHBSS-000002</query>
当我期待这个时:
<query xmlns="http://ws.apache.org/ns/synapse"><where><order.id>SOHBSS-000002</order.id></where></query>
当我将给定的 XML 进一步简化为 <order.id>0</order.id> 时,上面的相同丰富调解器会给出正确的 <order.id xmlns="http://ws.apache.org/ns/synapse">SOHBSS-000002</order.id> 输出。
xpath 错了吗?或者我是否将丰富的调解器用于它不适合的东西?
因为 XML 很简单,所以我试图不使用 XSLT 来进行更改。
【问题讨论】: