Fast, dependency-free XML-parser for parsing XML structures into JS objects. Optimised for speed and low memory usage.
npm install rapid-xml-to-jsrapid-xml-to-js is a fast, lightweight XML parser designed for simple hierarchical XML data.
This library is built for performance and simplicity. Below is a summary of what it can and cannot do:
...?>), and declarations.You can install the library via npm:
``bash`
npm install rapid-xml-to-js
Here’s how you can use rapid-xml-to-jsn:
`typescript
import { xlmToJs } from 'rapid-xml-to-js';
const xml =
;
const parsed = xmlToJs(xml);
console.log(parsed);
// Output:
// {
// root: {
// item: [
// "Some content here",
// { subitem: "Another piece of content" }
// ]
// }
// }
`
rapid-xml-to-js is optimized for speed and low memory usage, skipping some XML features to avoid overhead.
Parses a well-formed XML string into a JavaScript object.
#### Parameters
- xml (string): The well-formed XML string to parse.
#### Returns
- A nested JavaScript object representing the XML structure.
Navigate to benchmarks folder. Credits to fast-xml-parser for the xml docs and benchmark code
Run command npm install
Comment in the XML document path to use
Run command npm run test`
#### ptest.xml
Tiny XML file with attributes, CDATA and nesting
| Library | Requests/second |
|------------------------------------|-----------------|
| fast-xml-parser | 76 833 |
| fast-xml-parser - preserve order | 81 940 |
| xmlbuilder2 | 33 847 |
| xml2js | 36 126 |
| txml | 456 226 |
| rapid-xml-to-js | 593 815 |
#### sample.xml
Small sample XML file at 1.5KB
| Library | Requests/second |
|------------------------------------|-----------------|
| fast-xml-parser | 20 676 |
| fast-xml-parser - preserve order | 22 492 |
| xmlbuilder2 | 15 123 |
| xml2js | 16 361 |
| txml | 158 576 |
| rapid-xml-to-js | 201 213 |
#### large.xml
Large 98MB XML file
| Library | Requests/second |
|------------------------------------|-----------------|
| fast-xml-parser | 0.2789 |
| fast-xml-parser - preserve order | 0.3115 |
| xmlbuilder2 | 0.1648 |
| xml2js | 0.2233 |
| txml | 1.3508 |
| rapid-xml-to-js | 1.8392 |
Contributions are welcome! If you encounter any issues or have suggestions for improvement, feel free to open an issue or a pull request.
This library is licensed under the MIT License. See the LICENSE file for more information.