【问题标题】:Replace a string in Dataweave during XML to XML conversion在 XML 到 XML 转换期间替换 Dataweave 中的字符串
【发布时间】:2016-02-01 18:41:43
【问题描述】:

我的输入 XMl 是

<?xml version="1.0" encoding="UTF-8"?>
<DEBMAS01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
  <TABNAM>EDI_DC40</TABNAM>
  <DIRECT>2</DIRECT>
  <IDOCTYP>DEBMAS01</IDOCTYP>
  <MESTYP>DEBMAS</MESTYP>
  <SNDPOR>MULESOFT</SNDPOR>
  <SNDPRT>LS</SNDPRT>
  <SNDPRN>MULESOFT</SNDPRN>
  <RCVPOR>MULESOFT</RCVPOR>
  <RCVPRT>LS</RCVPRT>
  <RCVPRN>MULESOFT</RCVPRN>
</EDI_DC40>
<E1KNA1M SEGMENT="1">
  <MSGFN>005</MSGFN>
  <KUNNR>0000099500</KUNNR>
  <KTOKD>ZAG2</KTOKD>
  <LAND1>SK</LAND1>
  <NAME1>Mulesoft 99003 2nd</NAME1>
  <SPRAS>E</SPRAS>
  <SPRAS_ISO>EN</SPRAS_ISO>
</E1KNA1M>

我预期的输出 XML 是

<?xml version="1.0" encoding="UTF-8"?>
<DEBMAS01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
  <TABNAM>EDI_DC40</TABNAM>
  <DIRECT>2</DIRECT>
  <IDOCTYP>DEBMAS01</IDOCTYP>
  <MESTYP>DEBMAS</MESTYP>
  <SNDPOR>PROJECT1</SNDPOR>
  <SNDPRT>LS</SNDPRT>
  <SNDPRN>MULESOFT</SNDPRN>
  <RCVPOR>MULESOFT</RCVPOR>
  <RCVPRT>LS</RCVPRT>
  <RCVPRN>MULESOFT</RCVPRN>
</EDI_DC40>
<E1KNA1M SEGMENT="1">
  <MSGFN>005</MSGFN>
  <KUNNR>0000099500</KUNNR>
  <KTOKD>ZAG2</KTOKD>
  <LAND1>SK</LAND1>
  <NAME1>Mulesoft 99003 2nd</NAME1>
  <SPRAS>E</SPRAS>
  <SPRAS_ISO>EN</SPRAS_ISO>
</E1KNA1M>

这里我只想将 SNDPOR 标记中的字符串从“MULESOFT”替换为“PROJECT1”。我已经使用 XSLT 实现了这一点。但现在我想使用 Dataweave 脚本来实现这一点。请帮忙。

【问题讨论】:

标签: mule esb dataweave


【解决方案1】:

查看文档后找到了解决方案。感谢 Rocco 启发了我。 解决办法是

%dw 1.0
%output application/xml
--- 
DEBMAS01 :{(payload map {
IDOC @(BEGIN:payload.DEBMAS01.IDOC.@BEGIN):{
    EDI_DC40 @(SEGMENT:payload.DEBMAS01.IDOC.EDI_DC40.@SEGMENT):payload.DEBMAS01.IDOC.EDI_DC40 mapObject {
    "$$" : $ unless "$$" ~="SNDPOR" otherwise "PROJECT1"
    },
    E1KNA1M @(SEGMENT:payload.DEBMAS01.IDOC.E1KNA1M.@SEGMENT):payload.DEBMAS01.IDOC.E1KNA1M mapObject {
        "$$": $
    }
}
})
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    相关资源
    最近更新 更多