XML2CSV-Generic-Converter
is a Java program (Java 1.6 or higher please) dedicated to XML to CSV conversion.
Its main goal is to perform intuitive, effective and automated conversion just like spreadsheets do (or should do) when they import native XML with special care for performance so that some workable output could still be produced even against XML monsters (100Mb or more).
I've been working on it since February 2014, basically on my spare time, and picked up a few XML files at random to test it until all known issues were fixed.
The executable Jar I've uploaded is a regular jar-with-dependencies
Maven assembly.
The source code is available both unfolded in a local SVN project (in the Code
section), and bundled in a spare file named XML2CSVGenericConverter_V1.0.0-src.jar
(in the Files
section).
The initial V1.0.0
upload was performed on April 1st 2014; since then I've committed several changes on V1.0.0
files but I didn't increment the version number because I saw the subsequent months as some kind of 'pre-prod' time dedicated to V1.0.0
fine-tuning.
Maven gurus would certainly have expected an intermediate V1.0.0-SNAPSHOT
version followed by an actual V1.0.0
but I didn't want to have to rename files and break Internet search engines' indexes.
A definitive & comprehensive XML2CSV-Generic-Converter
V1.0.0
has now been frozen with all the core features. Apart from documentation refinements the cumulative updates made since Spring 2014 concerned significant items - namely:
The actual XML to CSV conversion shipped with version V1.0.0
won't change from now on but the accompanying documentation might from time to time, in order to flesh out or update certain aspects.
Three late updates were performed in 2015. Changes made didn't affect XML to CSV conversion but fixed 3 unnoticed (?) minor bugs before I confidently move on to the next step:
1
instead of 0
) during the XML template file analysis for a new XML element popping up in the very last occurrence of a repeated block (XML to CSV conversion remains unaffected because minimal cardinality isn't implied in the conversion process);A late additional bug fix was also performed on February, 29th 2016 because data handler resets between XML files were going a bit too far when several files are processed (resetting warding/unleashed/attribute extraction flags at the same time with odd side effects).
Version V1.1.0
, if I ever get the chance to write it, will add useful auxiliary features - namely:
InputStream[]
(File[]
only is supported at present).
In an even more remote future, fun, exotic (but most certainly less useful) features might be added too - for instance:
Slán go fóill,
Lóchrann
Wednesday, September 21 2016