diff options
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; |
