我是Talend的新手,在使用txmlmap时我遇到了问题。
我有一个XML文件,我需要将该XML中的数据插入到SQL Server中。我在Talend中建立连接以连接到SQL Server,但是在确定XML标记的优先级时我遇到了一些问题。
这是我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<entry name="opertaion-round-title">
<valstr>ROUND 1</valstr>
</entry>
<entry name="site">
<valstr>SITE NAME</valstr>
</entry>
<entry name="plant">
<valstr>PLANT NAME</valstr>
</entry>
<entry name="opertaion-area">
<valstr>G AREA</valstr>
</entry>
</data>
我正在使用txmlMap
将数据从XML传递到数据库。我有四张桌子。我需要根据条目标记(名称)放置值。
SITES,
PLANTS,
OPERATING_AREAS,
OPERATING_ROUNDS
我需要将站点值放入SITES表,将植物值放入PLANTS表,将操作区域值放入OPERATING_AREAS表,将操作舍入标题放入OPERATING_ROUNDS表。
我成功获取表中的值,但是我首先想要将站点值插入到SITES表中,然后在PLANTS表中插入植物值,然后是OPERATING_AREAS和OPERATING_ROUNDS表。
我面临的问题是,无论xml首次出现什么值,它都会插入到该表中。即在这种情况下,它首先将值插入OPERATING_ROUNDS表,因为xml中的第一个标记是<entry name="opertaion-round-title">
。但我想按以下顺序
SITES
PLANTS
OPERATING_AREAS
OPERATING_ROUNDS
那么无论如何我们可以在txmlMap中设置标签执行的优先级,这样无论先发生什么标签,它都会根据我们定义的优先级处理标签。
请查看
的附加屏幕截图和
答案 0 :(得分:1)
如果我没有弄错的话,你可能需要过度思考你认为处理数据的方式:
data
部分中有更多条目)意思是,不需要预先进行。您只需要确保映射是正确的,然后您也可以在tMap中执行此操作。