javascript解析xml字符串的函数

  但是是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;

  }

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

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