js跨浏览器操作xml
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;
}
注意:
使用上面函数时,应注意捕获异常。
如下:
var xmldom = null; try{ xmldom = parseXml("<root><child/></root>"); }catch(ex){ alert(ex.message); }
序列化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."); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。