【问题标题】:Splitting an XML file into multiple xml files in mule4在 mule4 中将 XML 文件拆分为多个 xml 文件
【发布时间】:2020-05-08 20:41:53
【问题描述】:

我正在使用 mule 4,我正在尝试将 xml 文件拆分为具有相同标题标签的多个文件。

输入:

<Data>
  <Header>
  </Header>
  <Details-1>
    <Item-1>
    </Item-1>
  </Details-1>
  <Details-2>
    <Item-2>
    </Item-2>
  </Details-2>
</Data>

预期输出:

文件-1:

<Data>
  <Header>
  </Header>
  <Details-1>
    <Item-1>
    </Item-1>
  </Details-1>
 </Data>

文件 2:

<Data>
  <Header>
  </Header>
  <Details-2>
    <Item-2>
    </Item-2>
  </Details-2>
</Data>

尝试在 for-each 范围内写入,但它要么只读取详细信息标签,要么只读取第一个详细信息

有人可以帮助我实现这一目标吗?

谢谢

【问题讨论】:

    标签: mule mulesoft mule4


    【解决方案1】:

    获取您的有效负载并一一过滤掉字段。它可以在一个转换中作为多个变量完成。

    %dw 2.0
    output application/xml  inlineCloseOn="empty"
    var x=read('<Data>
      <Header>
      </Header>
      <Details-1>
        <Item-1>
        </Item-1>
      </Details-1>
      <Details-2>
        <Item-2>
        </Item-2>
      </Details-2>
    </Data>','application/xml') 
    
    var removeKey = (element,keyName) ->
      element mapObject (value, key) -> {
    (if (key ~= keyName) {} else (
        (key): if (value is Object)
        removeKey ( value default {} , keyName )
    else value
    )
    )
      }
    ---
    removeKey(x,'Details-1')
    

    输出

    <?xml version='1.0' encoding='UTF-8'?>
    <Data>
      <Header/>
      <Details-2>
        <Item-2/>
      </Details-2>
    </Data>
    

    https://simpleflatservice.com/mule4/FilterOutXmlFields.html

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多