xml2csv is a free utility developed and published by Locima to convert XML files to CSV files, according to a configuration provided by a user. It is a command line utility and library, written in Java 5 (requires v1.6 or later)
This software is maintained on Github at http://www.github.com/andybrodie/xml2csv.
xml2csv is published under the Microsoft Public License (see also http://opensource.org/licenses/MS-PL), which is one of the most permissive licenses available and grants the user a wide variety of freedoms to use the software in a way that suits them.
Key Features:
- Using a user-supplied configuration, xml2csv reads input XML files and creates output CSV files.
- Processes multiple XML files that match user-specified filters.
- Create many CSV files from a single set of XML files based on 1..n relationships between XML nodes and their descendants.
- Built as a standalone Jar file with no dependencies other than the Oracle Java 1.6 JRE or later, for easy deployment.
- Inline, multi-value mappings, allowing for a variable number of values for a single record.
- Pivot Mapping allow CSV structure to be determined by the contents of XML files.
- Paid support available from Locima Ltd.
- Scalable to as many XML input documents as you need. Only one XML document needs to be held in memory at one time.
- Use via a command line interface or integrated in to your own applications.
- Source code licensed under the Microsoft Public License (MS-PL), so you can exploit with confidence!
- Fully commented source code so you can understand and extend easily.
- Based on open source software (Apache Commons, Apache Xerces, QOS slf4j,Saxonica Saxon HE, Eclipse Jar-In-Jar Loader).
- Build with Apache Ant and Ivy using a single command (
ant build-jar
).
Support
If you need Locima to provide consultancy or support in the configuration, use or extension of xml2csv, then please contact us at enquiries@locima.com,
Third Party Software Dependencies:
xml2csv relies on the following third party software, each with it’s own separate license:
- Apache Commons CLI (http://commons.apache.org/proper/commons-cli/) Licensed under the Apache License Version 2.0 (http://www.apache.org/licenses/)
- Apache Xerces 11.2 (http://xerces.apache.org/) Licensed under Apache License Version 2.0 (http://xerces.apache.org/xml-commons/licenses.html)
- Jar-in-Jar-Loader (http://www.eclipse.org) Licensed under the Eclipse Public License 1.0 (http://www.eclipse.org/org/documents/epl-v10.php)
- Junit 4.0 (http://junit.org/) Licensed under Eclipse Public License Version 1.0 (http://junit.org/license.html)
- Qos Logback (http://logback.qos.ch/) Licensed under the Eclipse Public License (http://logback.qos.ch/license.html)
- Qos SLF4J (http://slf4j.org/) Licensed under the MIT licence (http://slf4j.org/license.html)
- Saxonica Saxon 9 HE (http://saxon.sourceforge.net/) Licensed under Mozilla Public License 1.0 (https://www.mozilla.org/MPL/1.0/)