javascript之XML DOM对象

http://tech.ddvip.com   2008年01月18日    社区交流

内容摘要:javacript中对xml dom的支持,与其他任何特性一样面临着浏览器兼容问题。

oXmlDom.async=false;
oXmlDom.load("test.xml");

  异步载入稍有不同,因为Mozilla并不支持readyState属性,并且没有onreadystatechange事件,它只有一个onload的事件,当载入完成时触发;或者说相当于IE的readyState属性等于4的状态。

oXmlDom.onload=function(){
alert("done");
}

  oXmlDom.load("test.xml");

  要将XML字符串解析为DOM对象,必须使用DOMParser对象:

  var oParser=new DOMParser();

  var oXmlDom=oParser.parseFromString("<root><child/></root>,"text/xml");

  两个参数:要解析的XML字符串以及字符串的内容类型(只能为text/xml或者application/xml)。

  不过我们可以实现自己的loadXML方法:

 Document.prototype.loadXML = function (sXml) {
  
      var oParser = new DOMParser();
      var oXmlDom = oParser.parseFromString(sXml, "text/xml");
    
      //删除原文档内容
      while (this.firstChild) {
        this.removeChild(this.firstChild);
      }
      //导入新的文档内容
      for (var i=0; i < oXmlDom.childNodes.length; i++) {
        var oNewNode = this.importNode(oXmlDom.childNodes[i], true);
        this.appendChild(oNewNode);
      }
    
    };

  3.Mozilla没有提供IE的xml属性来返回XML文档内容,只能通过使用XMLSerializer对象:

责编:豆豆技术应用

正在加载评论...