JavaScript XML和string相互转化,responseText和responseXML

两个小function实现XML和string相互转化

/**
 * xml工具
 * xml对象和String字符串之间的转换
 * 
 */

//convert string to xml object (将字符串转换成xml对象)
function string2XML(xmlString) {
    // for IE(IE浏览器)
    if (window.ActiveXObject) {
      var xmlObject = new ActiveXObject("Microsoft.XMLDOM");
      xmlObject.async = "false";
      xmlObject.loadXML(xmlString);
      return xmlObject;
    }
    // for other browsers(火狐,谷歌浏览器等等)
    else {
      var parser = new DOMParser();
      var xmlObject = parser.parseFromString(xmlString, "text/xml");
      return xmlObject;
    }
  }

//convert xml object to string (将xml对象转换成字符串)
function xml2String(xmlObject) {
    // for IE(IE浏览器)
    if (window.ActiveXObject) {       
      return xmlObject.xml;
    }
    // for other browsers(火狐,谷歌浏览器等等)
    else {        
      return (new XMLSerializer()).serializeToString(xmlObject);
    }
  }

注意:

如果你在做ajax的时候,如果你服务器端返回的是xml的话,客户端浏览器中你就可以使用xmlHttp.responseXML来得到从服务器端返回的xml,如果碰到responseXML总是返回null的话,你可以尝试先打印下responseText看看,alert(xmlHttp.responseText); 如果responseText有值的话,那你就可以将responseText转换成XML对象,然后再用XMLDOM处理!

if(xmlObject == null){

var parser = new DOMParser();

//将responseText转换成XML对象

xmlObject = parser.parseFromString(xmlHttp.responseText,"text/xml");

}

  • 2
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值