This Example Demonstrates how to convert multiple XML files into CSV files
Here is an XML source example
<Table>
<Record>
<ID>1
</ID>
<Company>James Bond Production
</Company>
<Amount>13
</Amount>
</Record>
<Record>
<ID>2
</ID>
<Company>Green Cloud
</Company>
<Amount>14
</Amount>
</Record>
</Table>
Here is XSLT used transformation:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="Table">
<xsl:text>ID,Company,Amount</xsl:text>
<xsl:text>
</xsl:text>
<xsl:for-each select="Record">
<xsl:value-of select="ID"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="Company"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="Amount"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Notes: We kept XSLT simple so it is easy to understand and modify if necessary.
Steps to follow
- Download and install Advanced ETL Processor [Link]
- Download and Unzip example [Link]
- Create a new transformation and open the .ats file
- Double click on the reader and select source XML Directory
- Repeat the process for the data writer
- Press the green arrow to run the transformation
How it works
- Data Reader scans the source directory and loads files into memory one by one
- The transformer converts files in memory into CSV using XSLT
- Data Writer writes results into the target directory
- To amend the transformation double click on it
The transformation uses XML XSLT Transformation Function to convert XML to CSV and it also changes file name extension
- To change XML XSLT Transformation Function properties double click on it.
- Amend XSLT Transformation if necessary
- Press transform to see the result
Please contact us if you need help with transforming the data
Visit ETL Tools Forum |