https://github.com/NaturalIntelligence/fast-xml-parser
Validate XML, Parse XML and Build XML rapidly without C/C++ based libraries and no callback.
https://github.com/NaturalIntelligence/fast-xml-parser
cli command-line fast fast-xml-parser js js2xml json json2xml locale parser rapid validate validator xml xml2js xml2json xml2nimn
Last synced: 24 days ago
JSON representation
Validate XML, Parse XML and Build XML rapidly without C/C++ based libraries and no callback.
- Host: GitHub
- URL: https://github.com/NaturalIntelligence/fast-xml-parser
- Owner: NaturalIntelligence
- License: mit
- Created: 2017-01-28T23:25:42.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-14T04:01:14.000Z (about 1 month ago)
- Last Synced: 2025-03-18T04:07:14.371Z (about 1 month ago)
- Topics: cli, command-line, fast, fast-xml-parser, js, js2xml, json, json2xml, locale, parser, rapid, validate, validator, xml, xml2js, xml2json, xml2nimn
- Language: JavaScript
- Homepage: https://naturalintelligence.github.io/fast-xml-parser/
- Size: 6.64 MB
- Stars: 2,697
- Watchers: 31
- Forks: 316
- Open Issues: 70
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: .github/SECURITY.md
Awesome Lists containing this project
- awesome - fast-xml-parser - Validate XML, Parse XML and Build XML rapidly without C/C++ based libraries and no callback. (Npm)
- awesome-nodejs - fast-xml-parser - Validate and parse XML.  (Repository / Parsing)
- awesome-starred-test - NaturalIntelligence/fast-xml-parser - Validate XML, Parse XML and Build XML rapidly without C/C++ based libraries and no callback. (JavaScript)
- awesome - fast-xml-parser
- awesome-nodejs - fast-xml-parser - Validate and parse XML. (Packages / Parsing)
- awesome-nodejs - fast-xml-parser - Validate XML, Parse XML to JS/JSON and vise versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback - ★ 295 (Parsing)
- awesome-node - fast-xml-parser - Validate and parse XML. (Packages / Parsing)
- awesome-nodejs-cn - fast-xml-parser - 验证&解析 XML. (目录 / 解析工具)
- awesome-nodejs-cn - fast-xml-parser - **star:2665** 验证和解析XML ![star > 2000][Awesome] (包 / 解析)
- awesome-nodejs-cn - fast-xml-parser - 验证和解析 XML (包 / 解析)
README
# [fast-xml-parser](https://www.npmjs.com/package/fast-xml-parser)
[](https://npm.im/fast-xml-parser)
Validate XML, Parse XML to JS Object, or Build XML from JS Object without C/C++ based libraries and no callback.
* Validate XML data syntactically. Use [detailed-xml-validator](https://github.com/NaturalIntelligence/detailed-xml-validator/) to verify business rules.
* Parse XML to JS Objectand vice versa
* Common JS, ESM, and browser compatible
* Faster than any other pure JS implementation.It can handle big files (tested up to 100mb). XML Entities, HTML entities, and DOCTYPE entites are supported. Unpaired tags (Eg `
` in HTML), stop nodes (Eg `` in HTML) are supported. It can also preserve Order of tags in JS object---
# Your Support, Our Motivation## Try out our New Thoughts
We've recently launched **Flowgger**
<a href="https://github.com/solothought/flowgger"> <img src="static/img/flowgger_h.webp" alt="Flowgger Logging Framework" /></a>Don't forget to check our new library [Text2Chart](https://solothought.com/text2chart/flow) that constructs flow chart out of simple text. Very helpful in creating or alayzing an algorithm, and documentation purpose.
## Financial Support
Sponsor this project
<a href="https://github.com/sponsors/NaturalIntelligence">
<img src="https://raw.githubusercontent.com/NaturalIntelligence/ThankYouBackers/main/github_sponsor.png" width="180" />
</a>
<a href="https://opencollective.com/fast-xml-parser/donate" target="_blank">
<img src="https://opencollective.com/fast-xml-parser/donate/button@2x.png?color=blue" width=180 />
</a>
<a href="https://paypal.me/naturalintelligence"> <img src="static/img/support_paypal.svg" alt="donate button" width="180"/></a>
<br>
<br>
<br><!--
### Current SponsorsCheck the complete list at [ThankYouBackers](https://github.com/NaturalIntelligence/ThankYouBackers) for our sponsors and supporters.
Through Github
<a href="https://github.com/skunkteam" target="_blank"><img src="https://avatars.githubusercontent.com/u/46373671?s=60" width="60px"></a>
<a href="https://github.com/getsentry" target="_blank"><img src="https://avatars.githubusercontent.com/u/1396951?s=60" width="60px"></a>Through OpenCollective
<a href="https://opencollective.com/fast-xml-parser/sponsor/0/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/1/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/2/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/3/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/4/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/5/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/6/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/7/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/8/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/fast-xml-parser/sponsor/9/website" target="_blank"><img src="https://opencollective.com/fast-xml-parser/sponsor/9/avatar.svg"></a>
-->
> This is a donation. No goods or services are expected in return. Any requests for refunds for those purposes will be rejected.
## Users
<a href="https://github.com/renovatebot/renovate" title="renovate" ><img src="https://avatars1.githubusercontent.com/u/38656520" width="60px" ></a>
<a href="https://vmware.com/" title="vmware" > <img src="https://avatars0.githubusercontent.com/u/473334" width="60px" ></a>
<a href="https://opensource.microsoft.com/" title="microsoft" > <img src="https://avatars0.githubusercontent.com/u/6154722" width="60px" ></a>
<a href="http://ibm.github.io/" title="IBM" > <img src="https://avatars2.githubusercontent.com/u/1459110" width="60px" ></a>
<a href="http://www.smartbear.com" title="SmartBear Software" > <img src="https://avatars2.githubusercontent.com/u/1644671" width="60px" ></a>
<a href="http://nasa.github.io/" title="NASA" > <img src="https://avatars0.githubusercontent.com/u/848102" width="60px" ></a>
<a href="https://github.com/prettier" title="Prettier" > <img src="https://avatars0.githubusercontent.com/u/25822731" width="60px" ></a>
<a href="http://brain.js.org/" title="brain.js" > <img src="https://avatars2.githubusercontent.com/u/23732838" width="60px" ></a>
<a href="https://github.com/aws" title="AWS SDK" > <img src="https://avatars.githubusercontent.com/u/2232217" width="60px" ></a>
<a href="http://www.fda.gov/" title="Food and Drug Administration " > <img src="https://avatars2.githubusercontent.com/u/6471964" width="60px" ></a>
<a href="http://www.magento.com/" title="Magento" > <img src="https://avatars2.githubusercontent.com/u/168457" width="60px" ></a>
<a href="https://github.com/SAP" title="SAP" > <img src="https://user-images.githubusercontent.com/7692328/204835214-d9d25b58-e3df-408d-87a3-c7d36b578ee4.png" width="60px" ></a>
<a href="https://github.com/postmanlabs" title="postman" > <img src="https://user-images.githubusercontent.com/7692328/204835529-e9e290ad-696a-49ad-9d34-08e955704715.png" width="60px" ></a>
<a href="https://github.com/react-native-community" title="React Native Community" > <img src="https://avatars.githubusercontent.com/u/20269980?v=4" width="60px" ></a>
<a href="https://github.com/googleapis" title="Google APIs" > <img src="https://avatars.githubusercontent.com/u/16785467?v=4" width="60px" ></a>
<a href="https://github.com/langchain-ai" title="Langchain AI" > <img src="https://avatars.githubusercontent.com/u/126733545?v=4" width="60px" ></a>
<a href="https://github.com/withastro" title="Astro websie builder" > <img src="https://avatars.githubusercontent.com/u/44914786?v=4" width="60px" ></a>
<a href="https://github.com/baidu" title="Baidu" > <img src="https://avatars.githubusercontent.com/u/13245940?v=4" width="60px" ></a>
[more](./USERs.md)<small>The list of users are mostly published by Github or communicated directly. Feel free to contact if you find any information wrong.</small>
---
# More about this library
## 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](https://cdnjs.com/libraries/fast-xml-parser)
**Example**
As CLI command
```bash
$ fxparser some.xml
```In a node js project
```js
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
```html
<script src="path/to/fxp.min.js">
:const parser = new fxparser.XMLParser();
parser.parse(xmlContent);```
Bundle size
| Bundle Name | Size |
| ------------------ | ---- |
| fxbuilder.min.js | 6.5K |
| fxparser.min.js | 20K |
| fxp.min.js | 26K |
| fxvalidator.min.js | 5.7K |## Documents
v3v4 and v5v6
documents
- Getting Started
- XML Parser
- XML Builder
- XML Validator
- Entities
- HTML Document Parsing
- PI Tag processing
**note**:
- Version 6 is released with version 4 for experimental use. Based on it's demand, it'll be developed and the features can be different in final release.
- Version 5 has the same functionalities as version 4.## Performance
negative means error### XML Parser
![]()
* Y-axis: requests per second
* X-axis: File size### XML Builder
![]()
* Y-axis: requests per second---
## Usage Trend
[Usage Trend of fast-xml-parser](https://npm-compare.com/fast-xml-parser#timeRange=THREE_YEARS)
![]()
# Supporters
#### ContributorsThis project exists thanks to [all](graphs/contributors) the people who contribute. [[Contribute](docs/CONTRIBUTING.md)].
#### Backers from Open collective
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/fast-xml-parser#backer)]
# License
* MIT License