Skip to content

journeyapps/domparser.js

Repository files navigation

domparser

This is a pure JS implementation of DOM parsing, to be used instead of DOMParser in a browser. We use sax.js for the low-level parsing, and convert it to the browser's native Document object, or xmldom.

Why not use the built-in DOMParser?

The built-in DOMParser in modern browsers should be sufficient for most use cases, and has very good performance. However, it does have some limitations:

  1. Error reporting is very different on the different browsers. The browser typically stops after the first error.
  2. It's not possible to get access to position info (what line/column an element is on).

This project aims to be a lightweight replacement for the built-in parser, with better error handling and position reporting.

Usage

const { DOMParser } = require('@journeyapps/domparser');
var doc = new DOMParser().parseFromString("<test>xml</test>");

Supported environments

Should work on any browser that supports ES6.

Tested on recent versions of Node, Chrome and Firefox.

When running in Node, a recent version of xmldom is required.

License

All files in this project are licensed under the MIT license.

About

DOMParser for XML with line and column info

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •