如何将Xml数组的值映射到csv字段

唠叨
  <?xml version="1.0"?>
    <tXML>
      <Header>
        <Source>1</Source>
        <Action_Type>Update</Action_Type>
        <Sequence_Number>0</Sequence_Number>
        <Batch_ID>4</Batch_ID>
        <Reference_ID>043</Reference_ID>
        <User_ID>S</User_ID>
        <Password>password</Password>
        <Message_Type></Message_Type>
        <Company_ID>J1</Company_ID>
        <Msg_Locale>English (United States)</Msg_Locale>
        <Msg_Time_Zone>Eastern Standard Time</Msg_Time_Zone>
        <Version></Version>
        <Internal_Reference_ID></Internal_Reference_ID>
        <Internal_Date_Time_Stamp></Internal_Date_Time_Stamp>
        <External_Reference_ID></External_Reference_ID>
        <External_Date_Time_Stamp></External_Date_Time_Stamp>
      </Header>
      <Message>
        <DistributionOrder>
          <LineItem>
            <DoLineNbr>1</DoLineNbr>
            <ItemName>135465</ItemName>
            <Description>A</Description>
            <UpdateActionType></UpdateActionType>
            <PackageType></PackageType>
            <DoLineStatus>Released</DoLineStatus>
            <InventoryAttributes>
              <InventoryType>F</InventoryType>
              <ProductStatus></ProductStatus>
              <BatchNbr></BatchNbr>
              <CountryOfOrigin></CountryOfOrigin>
              <ItemAttribute1>R</ItemAttribute1>
              <ItemAttribute2></ItemAttribute2>
              <ItemAttribute3></ItemAttribute3>
              <ItemAttribute4></ItemAttribute4>
              <ItemAttribute5></ItemAttribute5>
            </InventoryAttributes>
            <Comment>
              <NoteType>MB</NoteType>
              <NoteCode>20</NoteCode>
              <CommentText>[JPY_ _Mens_ _ _ _ _ _ _ _ _ _ _ ]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
            <Comment>
              <NoteType>MB</NoteType>
              <NoteCode>13</NoteCode>
              <CommentText>[ _00016000.00000_.00000_.00000_ _ _ _ _ _ _ _ ]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
            <Comment>
              <NoteType>SC</NoteType>
              <NoteCode>02</NoteCode>
              <CommentText>[ _ _ _ _R]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
          </LineItem>
          <LineItem>
            <DoLineNbr>2</DoLineNbr>
            <ItemName>4550155140404</ItemName>
            <Description>AS LAMBSWOOL VNECK</Description>
            <UpdateActionType></UpdateActionType>
            <PackageType></PackageType>
            <DoLineStatus>Released</DoLineStatus>
            <InventoryAttributes>
              <InventoryType>F</InventoryType>
              <ProductStatus></ProductStatus>
              <BatchNbr></BatchNbr>
              <CountryOfOrigin></CountryOfOrigin>
              <ItemAttribute1>R</ItemAttribute1>
              <ItemAttribute2></ItemAttribute2>
              <ItemAttribute3></ItemAttribute3>
              <ItemAttribute4></ItemAttribute4>
              <ItemAttribute5></ItemAttribute5>
            </InventoryAttributes>
            <Comment>
              <NoteType>MB</NoteType>
              <NoteCode>20</NoteCode>
              <CommentText>[JPY_ _Mens_ _ _ _ _ _ _ _ _ _ _ ]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
            <Comment>
              <NoteType>MB</NoteType>
              <NoteCode>13</NoteCode>
              <CommentText>[ _00016000.00000_.00000_.00000_ _ _ _ _ _ _ _ ]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
            <Comment>
              <NoteType>SC</NoteType>
              <NoteCode>02</NoteCode>
              <CommentText>[ _ _ _ _R]</CommentText>
              <Visibility>0</Visibility>
            </Comment>
            </LineItem>
        </DistributionOrder>
      </Message>
    </tXML>

我在XMl上方映射到CSV管道定界的穿孔,并且需要有关如何循环LineItem-Comment以及检查NoteType和NoteCode以及打印CommentText值的帮助。

这是我的情况

Loop Over  /tXML/Message/DistributionOrder/LineItem/Comment 
If
/tXML/Message/DistributionOrder/LineItem/Comment/NoteType = SC and /tXML/Message/DistributionOrder/LineItem/Comment/NoteCode = 02
Then
Remove start and end index of /tXML/Message/DistributionOrder/LineItem/Comment/CommentText

我的dataweave到csv看起来像这样

%dw 2.0
output application/csv header = false , separator = "|" , quoteValues = false
---
payload.tXML.Message.DistributionOrder.*LineItem map ((LineItem , indexofLineItem) ->  {

column_1: "000000002",
    column_2: (payload.tXML.Message.DistributionOrder.ProcessInfo.RefTextField8 splitBy "_")[0] replace "[" with "",
    column_3: if(payload.tXML.Message.DistributionOrder.ProcessInfo.RefNumberField1 != null) (payload.tXML.Message.DistributionOrder.ProcessInfo.RefNumberField1) else "00000000",
    column_4:"",
    column_5:"",
    column_6: "",
    column_7: "",
    column_8: "",
    .
    .
    .
    .
    .
    .
    coulmn_56: ?(
    If
/tXML/Message/DistributionOrder/LineItem/Comment/NoteType = SC and /tXML/Message/DistributionOrder/LineItem/Comment/NoteCode = 02
Then
Remove start and end index of /tXML/Message/DistributionOrder/LineItem/Comment/CommentText)



})

我需要映射column_56。

技术

这是使您获得commentText的映射,我不确定您要什么。

%dw 2.0
output application/csv header = false , separator = "|" , quoteValues = false
---
payload.tXML.Message.DistributionOrder.*LineItem map ((LineItem , indexofLineItem) -> {
    column_1: "000000002",
    column_56: (LineItem.*Comment[?($.NoteType == 'SC' and $.NoteCode == '02')][0].CommentText) replace "[" with "" replace "]" with ""
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将嵌套的 XML 字段映射到 CSV?

来自分类Dev

如何将反应形式字段映射到线性数组?

来自分类Dev

如何将数组映射到哈希

来自分类Dev

PHP如何将导入器字段映射到csv第一行字段?

来自分类Dev

如何将具有重复值的数组映射到Javascript中的唯一数组?

来自分类Dev

如何将数组数组映射到属性和值之类的对象?

来自分类Dev

如何将没有父标签的xml字段映射到Java列表?

来自分类Dev

如何将Django模型字段映射到某些用户定义的值

来自分类Dev

如何将Python数组映射到NumPy数组

来自分类Dev

如何将 Firestore DocumentReferences 数组映射到 DocumentData 数组?

来自分类Dev

JAXB-如何将xml数组映射到对象列表

来自分类Dev

JAXB-如何将xml数组映射到对象列表

来自分类Dev

如何将列映射到 csv 文件中的另一列值?

来自分类Dev

如何将字典的键和值映射到json数组?

来自分类Dev

如何将对象值映射到可观察数组

来自分类Dev

Dart:如何将CSV数据映射到模型列表?

来自分类Dev

如何将数组映射到HTML网格?

来自分类Dev

如何将异构JSON数组映射到Java对象?

来自分类Dev

如何将数组索引映射到子集索引?

来自分类Dev

如何将数组或对象映射到对象?

来自分类Dev

如何将数组元素映射到输入?

来自分类Dev

如何将一个数组值映射到另一个数组值

来自分类Dev

如何将java.time.Duration映射到XML

来自分类Dev

jFreeChart:如何将String值映射到axis?

来自分类Dev

如何将HashMap的值映射到RadioButtons

来自分类Dev

如何将范围映射到单个值?

来自分类Dev

如何将集合和单个值映射到函数

来自分类Dev

如何将颜色强度值映射到其名称?

来自分类Dev

如何将列表映射到字典键作为值

Related 相关文章

热门标签

归档