0007 How to Convert XML Attributes into Elements
A practical Advanced ETL Processor example for building, testing, and adapting one automation workflow.
Use this example to build one working automation package, test it safely, and then adapt it to your own files, folders, or data rules. Start small. Automation is helpful; automated mistakes are just faster mistakes.
This Example Demonstrates how to convert XML attributes into XML elements
Here is an XML example, all the data we need is stored as XML attribute so we need to convert it into simpler XML format
<Table>
<Record>
<CompanyData ID="1" Company="James Bond Production" Amount="13"></CompanyData>
</Record>
<Record>
<CompanyData ID="2" Company="Green Cloud" Amount="146"></CompanyData>
</Record>
</Table>
Here is XSLT 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="xml" indent="yes" version="1.0"/>
<xsl:template match="Table">
<Table>
<xsl:for-each select="Record">
<Record> <ID><xsl:value-of select="CompanyData/@ID"/></ID>
<Company><xsl:value-of select="CompanyData/@Company"/></Company>
<Amount><xsl:value-of select="CompanyData/@Amount"/></Amount>
</Record>
</xsl:for-each>
</Table>
</xsl:template>
</xsl:stylesheet>
Note: XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents or formats
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 file

- Repeat the process for the data writer (Point it at the result.csv file)

- Run the transformation by pressing the green arrow.
Press magnifying glass button to amend the XSLT transformation



Related Advanced ETL Processor resources
For more automation examples, review the Advanced ETL Processor tutorials, read the WIKI, or download the Advanced ETL Processor Enterprise trial.