Home > Code, How To's, Tools > How To Convert Large XML Files to CSV

How To Convert Large XML Files to CSV

October 1st, 2009 Leave a comment Go to comments

 I usually struggle with convert very large XML files to other formats just because they are in a dynamic format and most programs you find run out of memory before properly parsing them. Well, I'm happy to say, I found a FAST and EASY solution. Of course this will work for small files as well as big files.

You'll want to grab a copy of the msxsl command line utility from Microsoft.

After you've got that, you'll need to setup a XSL file to tell the program how to format your file. If you're unfamiliar with XSL, you can familiarize yourself here.

After you've got your XSL file created, it's a simple command line entry:

msxsl xml_file.xml xsl_file.xsl -o output_file.csv

The following is a sample XML and XSL file that I used.

XML File:


	
		772500
		Tue, 20 Jan 2009 16:28:08 CST
		Tue, 20 Jan 2009 16:51:01 CST

		
		
			61951
			The Hills Season 1
		
	
	
		773000
		Tue, 20 Jan 2009 16:28:08 CST
		Tue, 20 Jan 2009 16:53:54 CST

		
		
			61926
			Hogan Knows Best Season 2
		
	
	
		775500
		Thu, 22 Jan 2009 14:49:12 CST
		Thu, 22 Jan 2009 14:51:35 CST

		
		
			62068
			Carlos Mencia 2007
		
		
			1402
			Comedy Central
		
	

XSL File (Creates tab-delimited file)


	
		
				

		
	
Categories: Code, How To's, Tools Tags:
  1. November 17th, 2009 at 23:33 | #1

    Have you consider using the latest open source xml parsing lib vtd-xml (http://vtd-xml.sf.net)?
    The memory saving over DOM is very significant, not to mention performance increases

  1. No trackbacks yet.