Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
First of all, I'm not a Talend Studio expert, that's the reason why I post this before to search really how to do it
One of our jobs is extracting data from an Oracle Autonomous db to generate several XML files as output for internal tools and usage.
Currently the output format of those xml files is :
<?xml version="1.0" encoding="UTF-8"?>
<time_slots>
<time_slot>
<tsid>1</tsid>
<tsname>07-09</tsname>
<tslabel>07-09</tslabel>
<tsstatus>inactive</tsstatus>
<tstime_from>07:00:00</tstime_from>
<tstime_to>09:00:00</tstime_to>
</time_slot>
<time_slot>
<tsid>2</tsid>
<tsname>08-12h30</tsname>
<tslabel>080000130000</tslabel>
<tsstatus>active</tsstatus>
<tstime_from>08:00:00</tstime_from>
<tstime_to>12:30:00</tstime_to>
</time_slot>
</time_slots>
The expected output format is:
<?xml version="1.0" encoding="UTF-8"?>
<time_slots>
<time_slot>
<Field name="tsid">1</Field>
<Field name="tsname">07-09</Field>
<Field name="tslabel">07-09</Field>
<Field name="tsstatus">inactive</Field>
<Field name="tstime_from">07:00:00</Field>
<Field name="tstime_to">09:00:00</Field>
</time_slot>
<time_slot>
<Field name="tsid">2</Field>
<Field name="tsname">08-12h30</Field>
<Field name="tslabel">080000130000</Field>
<Field name="tsstatus">active</Field>
<Field name="tstime_from">08:00:00</Field>
<Field name="tstime_to">12:30:00</Field>
</time_slot>
</time_slots>
What's the best way to reformat the XML output file ?
tMap, ... ?
Examples will be welcome.
Many Thanks for any suggestion.
Regards,
Hi
Try with tAdvancedFileOutputXML component that allows you configure the XML tree structure through GUI.
Regards
Shong
Hi
Try with tAdvancedFileOutputXML component that allows you configure the XML tree structure through GUI.
Regards
Shong
Hi Shong,
Great, it works.
Additional question : is there any way to import those configurations setting from file, ... because for some xml files, we have more than 300 tags and fill in manually will become tedious.
Regards,
Right click on the root node, then select 'import XML tree' item to import the XML tree from a file.
Many thanks for this appropriate reply.
Regards,
Hi,
I'm back with the same job.
As suggested I used the component tAdvancedFileOutputXML to format the XML output file,.
The option Import XML Tree didn't work on my side, so I decided to fill in 'manually' but it seems that there's a limit to this component, after having created 99 Field\name, when I try to run my job, there's a compilation error, cf Error.jpg file attached.
Any idea to fix this ?
Regards,
About the compilation error, click the Code tab to open the job generated Java code, you will see which lines have the error and what are the error messages. I'm not sure if there is a limitation of fields' number on the component, I hope you can help to test and confirm it, try to reduce the fields and see if the error disappears.
Hi Shong,
Before posting, I already tried to reduce the number of fields, it works fine with 99 fields, and not with 100. So I supose there's a limit.
Because I'm a little bit huried, I'll add several components tAdvancedFileOutputXML and then concate all output xml files.
I'll see later for a more appropriate design.
Regards,
@JC JC , thanks for your confirmation, I think it would be best to have our developers check it out, can you please raise a jira issue on Talend Bugtracker with a sample job?
Hi,
issue ticket : https://jira.talendforge.org/browse/TBD-15508
Regards,