网络编程
位置:首页>> 网络编程>> JavaScript>> 解析xml字符串的函数

解析xml字符串的函数

作者:亮亮 来源:亮亮blog 发布时间:2008-06-10 12:37:00 

标签:xml,字符串,函数,dom


在使用操作XML文件时,我们可以使用Load方法直接加载xml文件即可,在ie和ff下通用。但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser 对象的parseFromString() 方法即

var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(xmlStr,"text/xml");

为了在两种浏览器中能通用,我想到了javascritp的发生异常的处理方式,就是try...catch...
看看实现的代码:


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;
}

现在来看看效果

看,不管在ie还是ff中都弹出了1400吧!!

没事在无忧脚本上逛的时候看到了这样的函数:


 

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"?>,解析结果不一致,所以我上面的例子没有加这些字符。 

 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com