Talend 提取每行 xml

Talend extract xml for each row

在我的数据源中,我有包含 XML 内容的记录,我想提取和复制这些行:

数据源

id | content 

100 | <?xml version="1.0" encoding="utf-8"?><RepeaterData><Version /><Items><Item><Years>2018</Years><data>110</data></Item><Item><Years >2019</Years><data>200</data></Item></Items></RepeaterData>

我想得到这样的输出:

100 | 2018 | 110

100| 2019 | 200

我可以使用哪个组件?有什么帮助吗?

以下是您的操作方法:

首先,迭代你的行,并为每一行读取 xml 列并使用 tExtractXMLField 从中提取你想要的字段。然后在 tMap 中检索由 tFlowToIterate 设置的当前行的 ID。

结果:

.---+----+----.
|  tLogRow_1  |
|=--+----+---=|
|id |year|data|
|=--+----+---=|
|100|2018|110 |
|100|2019|200 |
'---+----+----'