Talend循环中具有多个类似标记的XML元数据

时间:2012-11-21 11:00:27

标签: xml talend

我想知道用这种格式创建XML文件元数据的最佳方法是什么:

<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
    <object pk="8" model="auth.user">
        <field type="CharField" name="username">jd</field>
        <field type="CharField" name="first_name">John</field>
        <field type="CharField" name="last_name">Doe</field>
        <field type="CharField" name="email">bla@bla.com</field>
    </object>
    <object pk="2102684" model="auth.user">
        <field type="CharField" name="username">kr</field>
        <field type="CharField" name="first_name">Karl</field>
        <field type="CharField" name="last_name">Row</field>
        <field type="CharField" name="email">karl@test.com</field>
    </object>
  .... etc
</django-objects>

这里的问题是标签重复多次(而不是单独的<username>, <first_name>等标签),这导致默认元数据映射只返回第一次出现(用户名)。

如何最好地映射此类数据?

由于 柯恩

1 个答案:

答案 0 :(得分:1)

好吧,我猜这是一个新问题:我想出来了。我只需要使用XPATH将字段映射到新列。例如:

    <field type="CharField" name="username">jd</field>

使用tFileInputMSXML组件进行这样的映射:

    "field[@name='username']". 

每个field标记都是这样映射的。奇迹般有效。