1 function parseXml(xml) {
2 var xmldom = null;
3
4 if (typeof DOMParser != "undefined") {
5 xmldom = (new DOMParser()).parseFromString(xml, "text/xml");
6 var errors = xmldom.getElementByTagName("parsererror");
7 if (errors.length) {
8 throw new Error("XML parsing error:" + errors[0].textContent);
9 }
10 } else if (document.implementation.hasFeature("LS", "3.0")) {
11 var implementation = document.implementation;
12 var parser = implementation.createLSParser(implementation.MODE_SYNCHRONOUS, null);
13 var input = implementation.createLSInput();
14 input.stringDate = xml;
15 xmldom = parser.parse(input);
16 } else if (typeof ActiveXObject != "undefined") {
17 xmldom = createDocument();
18 xmldom = loadXML(xml);
19 if (xmldom.parseError != 0) {
20 throw new Error("XML parsing error:" + xmldom.parseError.reason);
21 }
22 } else {
23 throw new Error("NO XML parser available.");
24 }
25 return xmldom;
26 }