Package Exports
- fast-xml-parser
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fast-xml-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
fast-xml-parser
Parse XML to JS/JSON very fast without C/C++ based libraries and no callback
How to use
Installation
$npm install fast-xml-parser
or using yarn
$yarn add fast-xml-parser
Usage
var fastXmlParser = require('fast-xml-parser');
var jsonObj = fastXmlParser.parse(xmlData);
// when a tag has attributes
var options = {
attrPrefix : "@_",
textNodeName : "#text",
ignoreNonTextNodeAttr : true,
ignoreTextNodeAttr : true,
ignoreNameSpace : true
};
var jsonObj = fastXmlParser.parse(xmlData,options);
//Intermediate obj
var tObj = fastXmlParser.getTraversalObj(xmlData,options);
var jsonObj = fastXmlParser.convertToJson(tObj);
To use from command line
$xml2js [-ns|-a] <filename> [-o outputfile.json]
To use it on webpage
- Download and include parser.js
var jsonObj = xml2json(xmlData);
Give me a star, if you really like this project.
I decided to created this library when I couldn't find any library which can convert XML data to json without any callback and which is not based on any C/C++ library.
Liraries that I compared
- xml-mapping : fast, result is not satisfactory
- xml2js : fast, result is not satisfactory
- xml2js-expat : couldn't test performance as it gives error on high load. Instalation failed on traivs and on my local machine using 'yarn'.
- xml2json : based on node-expat which is based on C/C++. Instalation failed on travis.
- fast-xml-parser : very very fast.
Why not C/C++ based libraries? Instalation of such libraries fails on some OS. You may require to install missing dependency manually.
Benchmark report
Don't forget to check the performance report on comparejs.
Limitation
This tool doesn't check if the XML is valid or not. If the XML is not valid you may get invalid result.
Report an issue or request for a feature here
Your contribution in terms of donation, testing, bug fixes, code development etc. can help me to write fast algorithms.
Some of my other NPM pojects
- stubmatic : A stub server to mock behaviour of HTTP(s) / REST / SOAP services. Stubbing redis is on the way.
- compare js : comparethe featues of JS code, libraries, and NPM repos.
- fast-lorem-ipsum : Generate lorem ipsum words, sentences, paragraph very quickly.