var xmlHttpReq = new XMLHttpRequest();
 xmlHttpReq.open("GET", pageurl, false);
 xmlHttpReq.send(null);
 if(xmlHttpReq.readyState>2){
xxx=xmlHttpReq.responseXML;
 }
alert(xxx.xml);

解决方案 »

  1.   

    不是从xmlHttpReq返回的数据。
    例如,在IE下,可以这样做:
    var doc = new ActiveXObject("Msxml2.DOMDocument");
    //create document header
    var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='UTF8'");
    doc.appendChild(p);var root = doc.createNode(1,"person","");
    var nameNode = doc.createNode(1,"name","");
    nameNode.text="abc";var ageNode = doc.createNode(1,"age","");
    ageNode.text="20";
    root.appendChild(nameNode);
    root.appendChild(ageNode);alert(root.xml);
    这样就会显示出
    <person>
      <name>abc</name>
      <age>20</age>
    </person>。
    但是在Mozilla下,我
    创建了dom对象,添加了节点之后,
    再alert(root.xml)。会显示
    undefined。
      

  2.   

    在mozilla下,执行下面的代码
    xmlDoc = document.implementation.createDocument("", "", null);   var root = xmlDoc.createElement("person");
    var nameNode = xmlDoc.createElement("name");
    var ageNode = xmlDoc.createElement("age");
    nameNode.text="abc";
    ageNode.text="20";
    root.appendChild(nameNode);
    root.appendChild(ageNode);
    alert(root.xml);
    会显示undefined
      

  3.   

    var doc = new ActiveXObject("Msxml2.DOMDocument");Mozilla可能不支持这个所以我写的是new XMLHttpRequest();我的代码是在ff下测试的
      

  4.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function MzXmlDocument()
    {
      if(document.implementation&&document.implementation.createDocument)
      {
        var doc=document.implementation.createDocument("","",null);
        doc.addEventListener("load",function(e){this.readyState=4;},false);
        doc.readyState=4; return doc;
      }
      else
      {
        var msxmls=["MSXML2","Microsoft","MSXML","MSXML3"];
        for(var i=0;i<msxmls.length;i++)
          try{return new ActiveXObject(msxmls[i]+'.DomDocument')}catch(e){}
        throw new Error("Could not find an installed XML parser!");
      }
    }
    var x=new MzXmlDocument();
    x.async=false;
    x.load("test.xml");
    if(x.readyState==4)
    {
        alert(x.documentElement.childNodes.length);
    }
    //-->
    </SCRIPT>