zoukankan      html  css  js  c++  java
  • Javascript AJAX 解析XML 兼容FIREFOX/IE

    //导入js文件

    function getResult(url, ready) {
     var xmlHttp;
     var r = function() {

      if (xmlHttp.readyState == 4) {
       if (xmlHttp.status == 200) {
        //alert(isIE);

        var xmlstr;
        var xmldoc;
        var isIE = !!(window.attachEvent && !window.opera);
        if (isIE)
         xmldoc = xmlHttp.responseXML;
        else {

         xmlstr = xmlHttp.responseText;
         alert(xmlstr);
         var parser = new DOMParser();

         xmldoc = parser.parseFromString(xmlstr, "text/xml");
        }
        try {
         ready(xmldoc);
        } catch (e) {
         alert(e.message);
        }
       }
      }
     }

     var create = function(url, r) {

      try {
       // Firefox, Opera 8.0+, Safari
       xmlHttp = new XMLHttpRequest();
      } catch (e) {

       // Internet Explorer
       try {
        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {

        try {
         xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
         alert("您的浏览器不支持AJAX!");
         return false;
        }
       }
      }
      xmlHttp.onreadystatechange = r;
      xmlHttp.open("GET", url, true);
      xmlHttp.send(null);

     }
     create(url, r);

    }

     
    //应用
    function ready(xmlDoc)
        {
        
            
            x
    =xmlDoc.getElementsByTagName("a")[1];
            y
    =x.childNodes[0];
            txt
    =y.nodeValue;
            alert(txt);
            
        }
    getResult(
    "../xml.jsp",ready);

    xml:

    <r>
    <a>ff</a>
    <a>ggd</a>
    </r>

    childNodes 属性返回子节点的列表。<a> 元素只有一个子节点,即一个文本节点。

    下面的代码检索 <a> 元素的文本节点:

    x=xmlDoc.getElementsByTagName("a")[0];
    y=x.childNodes[0];

    nodeValue 属性返回文本节点的文本值:

    x=xmlDoc.getElementsByTagName("title")[0];
    y=x.childNodes[0];
    txt=y.nodeValue;

    结果:txt = "ggd"

  • 相关阅读:
    最火的.NET开源项目[转]
    ExtJs4.1目录结构介绍和使用说明[转]
    mvc4 Forms验证存储 两种登录代码
    微服务 第九章 springboot 使用NoSql数据库:redis
    【数据挖掘】关联分析之Apriori(转载)
    C语言面试
    10.15习题2
    java 执行linux命令
    servlet tomcat eclipse
    002_监测ssl证书过期时间
  • 原文地址:https://www.cnblogs.com/yangyh/p/1774808.html
Copyright © 2011-2022 走看看