diff options
| author | Michael Williamson <mike@zwobble.org> | 2022-11-27 15:01:01 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-02-07 19:39:26 +0000 |
| commit | 0894561a06782812a4e73725ede6642da4501db0 (patch) | |
| tree | a3d30a820bcb8a9de7789f5ee1899d99e1215f1e /lib/xml/xmldom.js | |
| parent | aecb9ed67bd2f73275442493b69e88e648273e56 (diff) | |
Replace sax with xmldom
Diffstat (limited to 'lib/xml/xmldom.js')
| -rw-r--r-- | lib/xml/xmldom.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/xml/xmldom.js b/lib/xml/xmldom.js new file mode 100644 index 0000000..752c353 --- /dev/null +++ b/lib/xml/xmldom.js @@ -0,0 +1,23 @@ +var xmldom = require("@xmldom/xmldom"); +var dom = require("@xmldom/xmldom/lib/dom"); + +function parseFromString(string) { + var error = null; + + var domParser = new xmldom.DOMParser({ + errorHandler: function(level, message) { + error = {level: level, message: message}; + } + }); + + var document = domParser.parseFromString(string); + + if (error === null) { + return document; + } else { + throw new Error(error.level + ": " + error.message); + } +} + +exports.parseFromString = parseFromString; +exports.Node = dom.Node; |
