function parseXml(xml){ var xmldom = null; if(typeof DOMParser!="undefined"){ xmldom = (new DOMParser()).parseFromString(xml,"text/xml"); var errors = xmldom.getElementsByTagName("parsererror"); if(errors.length){ throw new Error("XML parse error:"+errors[0].textContent); }else if(typeof ActiveXObject!="undefined"){ xmldom = createDocument(); xmldom.loadXML(xml); if(xmldom.parseError!=0){ throw new Error("XML parse error:"+xmldom.parseError.reason); } }else{ throw new Error("No XML parser available."); } return xmldom;}
Note:
When using the above functions, you should capture exceptions.
As follows:
var xmldom = null;try{ xmldom = parseXml("
");}catch(ex){ alert(ex.message);}
Serialize XML
function serializeXml(xmldom){ if(typeof XMLSerializer!="undefined"){ return (new XMLSerializer()).serializeToString(xmldom); }else if(typeof xmldom.xml!="undefined"){ return xmldom.xml; }else{ throw new Error("Could not serialize XML DOM."); }}