网上看了一些例子,总是有报错,也找不出错误。
XML文件全文如下:<data>
  <place>
    <placeName>CBC网吧</placeName>
    <address>劳动路38号</address>
    <IP>192.168.89.22</IP>
    <name>周明达</name>
    <phone>85011411</phone>
  </place>  <place>
    <placeName>FHG旅馆</placeName>
    <address>北京路56号</address>
    <IP>192.168.233.22</IP>
    <name>刘德华</name>
    <phone>85042326</phone>
  </place>
 </data>
如何用javascript读取其中的内容。我不是很会javascript,要把所有内容都读出来,请把静态页面内容全贴出来,十分感激,谢谢了。

解决方案 »

  1.   


    //从xmlHttpRequest对象中得到xml 文档
    var xmlDoc=xmlHttp.responseXML;
    var itemNode=xmlDoc.getElementByTagName("place");
    var list="";
    for(var i=0;i<itemNode.length;i++){
    list+="<p>"+itemNode[i].getElementsByTagName("placeName")[0].firstChild.nodeValue+"<p>";
    list+="<p>"+itemNode[i].getElementsByTagName("address")[0].firstChild.nodeValue+"<p>";
    list+="<p>"+itemNode[i].getElementsByTagName("IP")[0].firstChild.nodeValue+"<p>";
    list+="<p>"+itemNode[i].getElementsByTagName("phone")[0].firstChild.nodeValue+"<p>";
    }
    document.getElementsById("你的ID").innerHTML=list我手写的,大概意思就是这样,xmlHttpRequest对象你自己去定义
      

  2.   

    我不太会JScript,能把代码贴权不?谢谢了
      

  3.   

    前面定义部分这么写么? var xmlHttp=new ActiveObject("Microsoft.XMLHTTP");
     var xmlDoc=xmlHttp.responseXML;
     var itemNode=xmlDoc.getElementByTagName("place");
     var list="";
    提示ActiveObject未定义!这个类那里引用?HTML页面里怎么引用?
      

  4.   

    提供一个例子
    示例xml文件Test.xml
    <?xml version="1.0" encoding="gb2312"?>
    <root>
        <item>
          <txt>123</txt>
          <url>www.sina.com.cn/url>
          <color>yaya</color>
        </item>
        <item>
          <txt>456</txt>
          <url>www.163.com</url>
          <color>gaga</color>
        </item>
    </root><SCRIPT LANGUAGE="JavaScript">
    var xdoc = new ActiveXObject("Microsoft.XMLDOM");
    xdoc.async="true";
    xdoc.load('mm.xml');
    nodes=xdoc.documentElement.childNodes;
    document.write("<li>"+nodes.item(0).text+"</li><li>"+nodes.item(1).text+"</li>");
    </SCRIPT>
      

  5.   

    楼上的仅支持ie内核的读写xml,ff的方式不同,所以为了兼容要判断浏览器
      

  6.   

    如果可以的话,建议用json保存数据,直接用
      

  7.   

    你是使用JavaScript读取本地XML文件吗??还是读取XML文本字符串?若是前者,必须借助浏览器框架的。
    若是直接是字符串文本的话,直接使用getElementByTagName("标签名")就OK。类似于HTML的读取。HTML和XML都是标记语言 都是有DOM解析 没多大区别。
      

  8.   

    http://wenku.baidu.com/view/5baeaa0d6c85ec3a87c2c59a.html网上很多这种例子,注意不同浏览器的兼容就好了
      

  9.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script>
    function  NewInfo(){
    //alert("1")
        var xmlDom;     //XML DOM object
    var xmlFile="test.xml";    //xml file name
    loadXML = function(fileRoute){
    xmlDoc=null;
    if (window.ActiveXObject){
    xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
    xmlDoc.async=false;
    xmlDoc.load(fileRoute);
    }else if (document.implementation && document.implementation.createDocument){
    var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET",fileRoute,false);
    xmlhttp.send(null);
    var xmlDoc = xmlhttp.responseXML;
    }
    else {xmlDoc=null;}
    return xmlDoc;
    }
    //alert("2")
    xmlDom=loadXML(xmlFile);
    var newsList2=xmlDom.getElementsByTagName("place");
    alert(newsList2.length)
    for(var i=0;i<newsList2.length;i++){
       var a_placeName = newsList2[i].getElementsByTagName("placeName")[0].childNodes[0].nodeValue;//大图链接
       var a_address = newsList2[i].getElementsByTagName("address")[0].childNodes[0].nodeValue;//标题
       var a_IP = newsList2[i].getElementsByTagName("IP")[0].childNodes[0].nodeValue;//详细描述
       var a_name = newsList2[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;//下载地址(文件真实地址)
       alert(a_placeName)
    try{  
      }catch(e2){;}
    }
    }
    </script>
    <title>无标题文档</title>
    </head><body onload="NewInfo()">
    </body>
    </html>
      

  10.   

    可以直接用给你写好了,那个xml叫test.xml放在和这个网页同一个文件夹中就可以了,xml的内容就是你写的内容
      

  11.   

    我用的是C#桌面程序,窗体上嵌入了一个浏览器控件。然后用这个浏览器控件加载一个本地HTML页面,页面里用JScript代码读取本地XML文件。我现在写入文件写好了,就是不会用JScript读。老报错:
    提示ActiveObject未定义!这个类那里引用?HTML页面里怎么引用?
      

  12.   


    十分感谢,这位同学。我实在是不会web,麻烦大家了。我先试试。