XML and CSV formats are both widely used for storing and exchanging data, but have very different structures. XML is markup text structured in the form of a tree and CSV is escaped text structured as a table. However you can easily convert XML to CSV format with Easy Data Transform:
Example XML input:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<record>
<CategoryID>1</CategoryID>
<CategoryName>Beverages</CategoryName>
<In_stock>true</In_stock>
</record>
<record>
<CategoryID>2</CategoryID>
<CategoryName>Condiments</CategoryName>
<In_stock>false</In_stock>
</record>
<record>
<CategoryID>3</CategoryID>
<CategoryName>Confections</CategoryName>
<In_stock>true</In_stock>
</record>
</root>
Example CSV output:
CategoryID,CategoryName,In_stock
1,Beverages,true
2,Condiments,false
3,Confections,true
The dot (‘.’) character is used to show nesting of XML values and XML attribute values start with an underscore (‘_’). For example:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<record carb="2" cholesterol="5" fiber="0"
name="Avocado Dip" protein="1" sodium="210">
<minerals>
<ca>0</ca>
<fe>0</fe>
</minerals>
<vitamins>
<a>0</a>
<c>0</c>
</vitamins>
</record>
</root>
Will be ‘flattened’ into CSV as:
_carb,_cholesterol,_fiber,_name,_protein,_sodium,minerals.ca,minerals.fe,vitamins.a,vitamins.c
2,5,0,Avocado Dip,1,210,0,0,0,0
You can use a Rename Cols transform if you want to rename any of the columns before output.
If you have a large number of files to convert you can do it using batch processing.
As well as changing file format, Easy Data Transform also allows you to combine 64 transforms (such as merge, dedupe and filter) to quickly and easily create simple or complex data transformations.
v1.43.0 for Windows 11 / 10 / 8 / 7 (46 MB)
v1.43.0 for Mac 13.x to 10.13 (78 MB)
Questions or problems?