javascript解析xml字符串的函数

时间:2021-05-26

但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser对象的parseFromString()方法即
varoParser=newDOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");
为了在两种浏览器中能通用,我想到了javascritp的发生异常的处理方式,就是try...catch...
复制代码 代码如下:
functiontoXML(strxml){
try{
xmlDoc=newActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(strxml);
}
catch(e){
varoParser=newDOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
returnxmlDoc;
}

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
看,不管在ie还是ff中都弹出了1400吧!!
复制代码 代码如下:
functionFormatToXml(strXml){
varisIE=function(){
varIE=/msie/i.test(navigator.userAgent);
returnIE;
}
varExc=function(){
varXmlDoc=null;
if(isIE())
{
XmlDoc=newActiveXObject("Microsoft.XMLDOM");
XmlDoc.loadXML(strXml);
}else{
//FireFox2.0、Safari2.0
XmlDoc=(newDOMParser()).parseFromString(strXml,"text/xml");
}
returnXmlDoc;
}
returnExc();
}

功能是一样的,都是为了在ie和ff中处理xml字符串的解析问题。不过在无忧上有些人说xml字符串要有<?xmlversion="1.0"encoding="gb2312"?>,可我测试后若有xmlversion="1.0"encoding="gb2312"?>,解析结果不一致,所以我上面的例子没有加这些字符。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章