
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
fast-xml-parser-ordered
Advanced tools
Validate XML or Parse XML to JS/JSON very fast without C/C++ based libraries
Validate XML, Parse XML to JS/JSON and vice versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback
This project welcomes contributors. If you have a feature you'd like to see implemented or a bug you'd liked fixed, the best and fastest way to make that happen is to implement it and submit a PR. Basic knowledge of JS is sufficient. Feel free to ask for any guidance.
List of some applications/projects using Fast XML Parser. (Raise an issue to submit yours)
To use it in NPM package install it first
$npm install fast-xml-parser
or using yarn $yarn add fast-xml-parser
To use it from CLI Install it globally with -g
option.
$npm install fast-xml-parser -g
To use it on a webpage include it from a CDN
var jsonObj = parser.parse(xmlData [,options] );
var parser = require('fast-xml-parser');
var he = require('he');
var options = {
attributeNamePrefix : "@_",
attrNodeName: "attr", //default is 'false'
textNodeName : "#text",
ignoreAttributes : true,
ignoreNameSpace : false,
allowBooleanAttributes : false,
parseNodeValue : true,
parseAttributeValue : false,
trimValues: true,
cdataTagName: "__cdata", //default is 'false'
cdataPositionChar: "\\c",
localeRange: "", //To support non english character in tag/attribute values.
parseTrueNumberOnly: false,
attrValueProcessor: a => he.decode(a, {isAttributeValue: true}),//default is a=>a
tagValueProcessor : a => he.decode(a) //default is a=>a
};
if( parser.validate(xmlData) === true) { //optional (it'll return an object in case it's not valid)
var jsonObj = parser.parse(xmlData,options);
}
// Intermediate obj
var tObj = parser.getTraversalObj(xmlData,options);
var jsonObj = parser.convertToJson(tObj,options);
localeRange: "a-zA-Zа-яёА-ЯЁ"
$xml2js [-ns|-a|-c|-v|-V] <filename> [-o outputfile.json]
$cat xmlfile.xml | xml2js [-ns|-a|-c|-v|-V] [-o outputfile.json]
var result = parser.validate(xmlData);
if (result !== true) console.log(result.err);
var jsonObj = parser.parse(xmlData);
var Parser = require("fast-xml-parser").j2xParser;
//default options need not to set
var defaultOptions = {
attributeNamePrefix : "@_",
attrNodeName: "@", //default is false
textNodeName : "#text",
ignoreAttributes : true,
cdataTagName: "__cdata", //default is false
cdataPositionChar: "\\c",
format: false,
indentBy: " ",
supressEmptyNode: false,
tagValueProcessor: a=> he.encode(a, { useNamedReferences: true}),// default is a=>a
attrValueProcessor: a=> he.encode(a, {isAttributeValue: isAttribute, useNamedReferences: true})// default is a=>a
};
var parser = new Parser(defaultOptions);
var xml = parser.parse(json_or_js_obj);
With the correct options, you can get the almost original XML without losing any information.
when
format is set to true
true
, tags with no value (text or nested tags) are written as self closing tags.file size | fxp 3.0 validator (rps) | fxp 3.0 parser (rps) | xml2js 0.4.19 (rps) |
---|---|---|---|
1.5k | 16581.06758 | 14032.09323 | 4615.930805 |
1.5m | 14918.47793 | 13.23366098 | 5.90682005 |
13m | 1.834479235 | 1.135582008 | -1 |
1.3k with CDATA | 30583.35319 | 43160.52342 | 8398.556349 |
1.3m with CDATA | 27.29266471 | 52.68877009 | 7.966000795 |
1.6k with cdata,prolog,doctype | 27690.26082 | 41433.98547 | 7872.399268 |
98m | 0.08473858148 | 0.2600104004 | -1 |
file size | fxp 3.2 js to xml | xml2js 0.4.19 builder |
---|---|---|
1.3k | 160148.9801 | 10384.99401 |
1.1m | 173.6374831 | 8.611884025 |
This project exists thanks to all the people who contribute. [Contribute].
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
FAQs
Validate XML or Parse XML to JS/JSON very fast without C/C++ based libraries
The npm package fast-xml-parser-ordered receives a total of 147 weekly downloads. As such, fast-xml-parser-ordered popularity was classified as not popular.
We found that fast-xml-parser-ordered demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.