1. fast-xml-parser
Validate XML, Parse XML, Build XML without C/C++ based libraries
fast-xml-parser
Package: fast-xml-parser
Created by: NaturalIntelligence
Last modified: Sat, 16 Mar 2024 08:21:58 GMT
Version: 4.3.6
License: MIT
Downloads: 71,221,771
Repository: https://github.com/NaturalIntelligence/fast-xml-parser

Install

npm install fast-xml-parser
yarn add fast-xml-parser

fast-xml-parser

Known Vulnerabilities
NPM quality
Coverage Status
Try me
NPM total downloads

Validate XML, Parse XML to JS Object, or Build XML from JS Object without C/C++ based libraries and no callback.

XML Parser v5 is added for experimental use
https://solothought.com

Sponsor this project 👉






Stubmatic donate button

Current Sponsors

Check the complete list at ThankYouBackers for our sponsors and supporters.

Through Github


Through OpenCollective










Users














Check the bigger list

The list of users is collected either from the list published by Github, communicated directly through mails/chat , or from other resources. If you feel that your name in the above list is incorrectly published or you're not the user of this library anymore then you can inform us to remove it. We'll do the necessary changes ASAP.

If you want to be an anonymous user of this application and don't want to be highlighted anywhere then you can contact me at

Main Features

FXP logo
  • Validate XML data syntactically
  • Parse XML to JS Object
  • Build XML from JS Object
  • Works with node packages, in browser, and in CLI (press try me button above for demo)
  • Faster than any other pure JS implementation.
  • It can handle big files (tested up to 100mb).
  • Controlled parsing using various options
  • XML Entities, HTML entities, and DOCTYPE entites are supported.
  • unpaired tags (Eg <br> in HTML), stop nodes (Eg <script> in HTML) are supported.
  • You can restore almost same XML from JSON
  • Supports comments
  • It can preserve Order of tags in JS object
  • You can control if a single tag should be parsed into array.
  • Supports parsing of PI (Processing Instruction) tags with XML declaration tags
  • And many more other features.

v5

I developed v5 in Apr 2023. And I didn't get the chance to complete all the features. I've ensured that new features don't impact performance. With v5, you have more control on parsing output. Check docs for syntax help and basic understanding.

Please leave a comment in discussion forum for your suggestions and if you really need v5.

How to use

To use as package dependency
$ npm install fast-xml-parser
or
$ yarn add fast-xml-parser

To use as system command
$ npm install fast-xml-parser -g

To use it on a webpage include it from a CDN

Example

As CLI command

 $ fxparser some.xml

In a node js project

 const { XMLParser, XMLBuilder, XMLValidator} = require("fast-xml-parser");

const parser = new XMLParser();
let jObj = parser.parse(XMLdata);

const builder = new XMLBuilder();
const xmlContent = builder.build(jObj);

In a HTML page

 <script src="path/to/fxp.min.js"></script>
:
<script>
  const parser = new fxparser.XMLParser();
  parser.parse(xmlContent);
</script>

Check lib folder for different browser bundles

Bundle Name Size
fxbuilder.min.js 5.2K
fxparser.js 50K
fxparser.min.js 17K
fxp.min.js 22K
fxvalidator.min.js 5.7K

Documents

v3

v4

  1. GettingStarted.md
  2. XML Parser
  3. XML Builder
  4. XML Validator
  5. Entities
  6. HTML Document Parsing
  7. PI Tag processing

Performance

XML Parser

  • Y-axis: requests per second
  • X-axis: File size

Large files

  • Y-axis: requests per second
  • X-axis: File size

XML Builder

  • Y-axis: requests per second

negative means error

Supporters

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

License

  • MIT License

Donate $5

Dependencies

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin