<html>
  <head>
     <script type="text/javascript"> 
         var xmlDoc=document.getElementById("menuXml").XmlDocument.documentElement;
         alert(xmlDoc)
      </script>
   </head>
   <xml id="menuXml">//java代码,节省时间</xml>
  <body>  </body>
</html>这是我简化后的代码,但是也能说明问题,
就是用IE浏览的时候返回一个object,但是用谷歌浏览器说明都没有动作,
然后我试试用谷歌运行下面的代码:
var xmlDoc=document.getElementById("menuXml").XmlDocument
         alert(xmlDoc)
居然返回一个ondefinde的,求大神帮忙。。或者给我一份谷歌浏览器解析xml的手册。

解决方案 »

  1.   

    要兼容所有浏览器。请采用XMLHttpRequest来请求xml文件。兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的 XML 文件加载方式兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的 XML 文件加载方式代码如下,xml 文件名为 1.xml。
    1.XML代码
    <?xml version="1.0" encoding="utf-8"?>
    <note>
    <t1>
    <title>孟子E章的网站</title>
    <url>http://dotnet.aspx.cc/</url>
    </t1>
    <t1>
    <title>孟宪会的博客</title>
    <url>http://blog.csdn.net/net_lover/</url>
    </t1>
    </note> 
    HTML 代码
    <script type="text/javascript">
      var xmlDoc = null, xmlhttp = null;
      function loadXML() {
        xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
        if (xmlhttp == null) {
          alert("你的浏览器不支持 XMLHttpRequest");
          return;
        }
        xmlhttp.open("GET", "1.xml?" + Date.parse(new Date()), true);
        xmlhttp.setRequestHeader("Content-Type", "text/xml");
        xmlhttp.onreadystatechange = getmessage;
        xmlhttp.send(null);
      }  function getmessage() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          xmlDoc = xmlhttp.responseXML.documentElement;
          if (xmlDoc == null) {
            alert("返回的数据不正确。");
            return;
          }
          var nodes = xmlDoc.getElementsByTagName("t1")
          tb = document.getElementById("table_note");
          tbody = document.createElement("tbody")
          for (i = 0; i < nodes.length; i++) {
            tr = document.createElement("tr")
            td = document.createElement("td")
            td.innerHTML = nodes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
            tr.appendChild(td)
            td = document.createElement("td")
            url = nodes[i].getElementsByTagName("url")[0].childNodes[0].nodeValue;
            td.innerHTML = "<a href='" + url + "'>" + url + "</a>"
            tr.appendChild(td)
            tbody.appendChild(tr)
          }
          tb.appendChild(tbody)
        }
      }
    </script>
    </head>
    <body onload="loadXML()">
      <table id="table_note" border="1">
        <tr>
          <td>姓名</td>
          <td>网址</td>
        </tr>
      </table>
    </body>
    </html>
      

  2.   

    xml标记只有IE有,才看做是对象,其他浏览器没有这个标记
      

  3.   


    你这个是和Ajax的方式呀,不过值得参考。
      

  4.   

    http://wenku.baidu.com/view/d6f6cb0402020740be1e9bdf.html