【问题标题】:Talend : How to get a list of nested loop with tExtractXMLFieldTalend:如何使用 tExtractXMLField 获取嵌套循环列表
【发布时间】:2015-02-13 10:09:03
【问题描述】:

我有这个 xml:

<listUsers xsi:type="UserBean">         
           <ax224:firstName>myFirstName</ax224:firstName>
           <ax224:mail>me@gmail.com</ax224:mail>
           <ax224:name>myName</ax224:name>
           <ax224:listSkill xsi:type="ax224:AgentSkillBean">
              <ax224:id>DEMO</ax224:id>
              <ax224:level>3</ax224:level>
           </ax224:listSkill>
           <ax224:listSkill xsi:type="ax224:AgentSkillBean">
              <ax224:id>CAMPAIGN_1</ax224:id>
              <ax224:level>3</ax224:level>
           </ax224:listSkill>
           <ax224:listSkill xsi:type="ax224:AgentSkillBean">
              <ax224:id>CHAT</ax224:id>
              <ax224:level>3</ax224:level>
           </ax224:listSkill>
</ax224:listUsers>
<listUsers xsi:type="UserBean"> 
...  
</ax224:listUsers> 
<listUsers xsi:type="UserBean"> 
...  
</ax224:listUsers>   

我必须使用这些结果在另一个应用程序中创建每个用户。但是我需要过滤技能(例如,如果用户具有“聊天”技能,我需要在用户中赋予我将在其他应用程序中创建的相应角色)。 问题是:我不知道如何使用我的 tExtractXMLField 获取技能列表。 如果我在 listUsers 节点上循环,我不知道如何获得他的技能,如果我在 listSkill 节点上循环,我获得的次数与他拥有的技能一样多,所以我的工作将尝试创建同一用户多次。 我想要一个技能列表,所以在我的 tXMLMap 中我可以说类似“listSkills.contains("CHAT")?true:false" 但我不知道如何获得这个列表...... 有什么想法吗?

【问题讨论】:

    标签: xml talend


    【解决方案1】:

    最后我找到了一个解决方案,在 listSkill 上循环,然后使用 tAggregateRow 组件聚合行。 还是谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多