aboutsummaryrefslogtreecommitdiff
path: root/lib/xml/xmldom.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xml/xmldom.js')
-rw-r--r--lib/xml/xmldom.js23
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;