|
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
為了在兩種瀏覽器中能通用,我想到了Javascritp的發(fā)生異常的處理方式,就是try...catch...
復(fù)制代碼 代碼如下:
function toXML(strxml){
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(strxml);
}
catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
看,不管在ie還是ff中都彈出了1400吧!!
復(fù)制代碼 代碼如下:
function FormatToXml(strXml){
var isIE = function(){
var IE = /msie/i.test(navigator.userAgent);
return IE;
}
var Exc = function(){
var XmlDoc = null;
if (isIE())
{
XmlDoc = new ActiveXObject("Microsoft.XMLDOM");
XmlDoc.loadXML(strXml);
}else{
//FireFox2.0、Safari2.0
XmlDoc = (new DOMParser()).parseFromString(strXml, "text/xml");
}
return XmlDoc;
}
return Exc();
}
功能是一樣的,都是為了在ie和ff中處理xml字符串的解析問題。不過在無憂上有些人說xml字符串要有<?xml version="1.0" encoding="gb2312"?>,可我測試后若有xml version="1.0" encoding="gb2312"?>,解析結(jié)果不一致,所以我上面的例子沒有加這些字符。
JavaScript技術(shù):javascript解析xml字符串的函數(shù),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。