<?xml version="1.0" encoding="GBK"?>
<root>
<line lineCode="1" lineName="line1" speed="50km/h"> 
<road lineInCode="4" roadCode ="62" roadName ="xianfenglu" sectionLong ="1000" opCycle="240" splitCoordPhase="2" phaseDiff="10" >
<stages number="3">
        <stage stageCode="1" stageGreen="0"  minGreen="0" maxGreen="0" yellow="0" redClear="0" phases="0"></stage>
        <stage stageCode="2" stageGreen="50" minGreen="0" maxGreen="0" yellow="0" redClear="0" phases="0"></stage>
         </stages>
</road><road lineInCode="3" roadCode ="63" roadName ="huaihailu" sectionLong ="2000" opCycle="240" splitCoordPhase="2" phaseDiff="20" >
<stages number="5">
<stage stageCode="1" stageGreen="0" minGreen="0" maxGreen="0" yellow="0" redClear="0"  phases="0"></stage>
        <stage stageCode="2" stageGreen="0" minGreen="0" maxGreen="0" yellow="0" redClear="0"  phases="0"></stage>
        
</stages>
</road><road lineInCode="2" roadCode ="64" roadName ="zhejianglu" sectionLong ="3000" opCycle="240" splitCoordPhase="3" phaseDiff="30" >
<stages number="4">
<stage stageCode="1" stageGreen="0" minGreen="0" maxGreen="0" yellow="0" redClear="0"  phases="0"></stage>
        <stage stageCode="2" stageGreen="0" minGreen="0" maxGreen="0" yellow="0" redClear="0"  phases="0"></stage> 
             
</stages>
</road>
</line>
</root>我是新手,请问这样的xml文件有这样的写法吗?如果是读这样的文件,该怎么读,谁能给个详细的读每个属性值的例子?谢谢了

解决方案 »

  1.   

    读取节点属性使用getAttribute方法例如 alert(xmlObj.getElementsByTagName("line")[0].getAttribute("roadCode"));
      

  2.   

    IE下好像有直接加载xml的js api。ff不知道有没有
    不过可以用通用的方法来做,用XMLHttpRequest来读,读到后获取 request.responseXml即可。具体可以搜索XMLHttpRequest, ajax
      

  3.   

    http://topic.csdn.net/u/20091124/14/7bf199fd-7a3a-46bc-b134-d44cad53c039.html?seed=641911037&r=61411346#r_61411346
      

  4.   

    看看高率的程序,绝对的原创,1,客户端的JavaScript不能写服务器上的XML文件,因为这会引起危险的安全问题;
    2,客户端的JavaScript读取服务器上的XML文件,首先假设在服务器上存在:
    (1)文件名VisitUser.xml
    (2)XML文件结构:
    --------------------------------------------------------------------
    <?xml version="1.0" encoding="gb2312"?>
    <visiter>
    <area areaid="shenzhen">
    <areaname>shenzhen </areaname>
    <user userid="001">
    <name>xiaoM </name>
    <sex>boy </sex> <
    jobtitle>web </jobtitle>
    <userip>192.168.1.1 </userip>
    <addtime>2009-02-17 15:30:20 </addtime>
    </user>
    <user userid="002">
    <name>BBC </name>
    <sex>boy </sex>
    <jobtitle>web2.0 </jobtitle>
    <userip>192.168.1.151 </userip>
    <addtime>2009-02-19 15:30:20 </addtime>
    </user>
    </area>
    <area areaid="guangzhou">
    <areaname>guangzhou </areaname>
    <user userid="003"> <name>Arian </name>
    <sex>boy </sex>
    <jobtitle>WEB2.0 </jobtitle>
    <userip>192.168.1.151 </userip>
    <addtime>2009-2-17 10:57:09 </addtime>
    </user>
    </area>
    </visiter>
    -------------------------------------------------------------------- 
    HTML文件(index.htm)为: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>TEST</title>
    </head>
    <style type="text/css">
    body,td,input{font-family:verdana,Arial; font-size:12px; font-weight:normal;}
    span{font-family:"Arial black",verdana; font-size:16px; font-weight:bold;}
    a:link{font-family:verdana,Arial; font-size:12px; font-weight:normal; color:#FF6600; text-decoration:none;}
    a:visited{font-family:verdana,Arial; font-size:12px; font-weight:normal; color:#FF6600; text-decoration:none;}
    a:hover{font-family:verdana,Arial; font-size:12px; font-weight:normal; color:#CC0000; text-decoration:none;}
    </style>
    <body>
    <p>
    <b>created: </b>2009-04-15;<br>
    <b>athor:</b>shenzhenNBA
    </p>
    <script language="javascript" type="text/javascript">
    function GetXMLData(XMLFileName){
        var xmlDoc;
        var xmlFile;
        var ieFlag="ie";
        xmlFile=XMLFileName;
        if (window.ActiveXObject)    
        {
            var activeXNameList=new Array("MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XMLDOM","MSXML.DOMDocument");
            for(var h=0;h<activeXNameList.length;h++)
            {
                try{
                    xmlDoc=new ActiveXObject(activeXNameList[h]);
                }catch(e){
                    continue;
                }
                if(xmlDoc)        
                    {break; }    
            }
            
            xmlDoc.async=false;        
            xmlDoc.load(xmlFile);    
            ieFlag="ie";
        }else if(document.implementation && document.implementation.createDocument){    
            xmlDoc=document.implementation.createDocument("","",null);                    
            xmlDoc.async=false;        
            xmlDoc.load(xmlFile);
            ieFlag="other";
        }else{
            alert("Can not create XML DOM Document object in your IE.\nMaybe use Microsoft or FireFox or Netscape IE will better.");
        }    var strResult="";
        var subNode="";
        var subNode2="";    
        var attrib="";
        if(ieFlag=="ie")
        {
        var arealist=xmlDoc.documentElement.getElementsByTagName("area");                
        for (var i=0; i< arealist.length; i++)
            {
            try{
                strResult=strResult + "<b>"+arealist[i].childNodes[0].text+"</b>, ";        
                }catch(e){ }
            try{
                var userlist=arealist[i].getElementsByTagName("user");
                for(var t=0;t<userlist.length;t++)
                    {
                    attrib+="<b>"+userlist[t].getAttribute("userid")+"</b>, ";                
                    subNode+="<b>"+userlist[t].firstChild.text+"</b>, ";                    
                    subNode2+="<b>"+userlist[t].childNodes[2].text+"</b>, ";                
                    }
                }catch(e){ }
            }
        }        if(ieFlag=="other")
        {
            var arealist=xmlDoc.getElementsByTagName("area");                
            for(var j=0;j<arealist.length;j++)
                {
                try{
                    strResult =strResult+"<b>"+ arealist[j].getElementsByTagName("areaname")[0].firstChild.nodeValue+"</b>, ";
                    }catch(e){}
                try{
                    var userlist=arealist[j].getElementsByTagName("user");    
                    for(var k=0;k<userlist.length;k++)
                        {
                        attrib=attrib+"<b>"+userlist[k].getAttribute("userid")+"</b>, ";        
                        subNode=subNode+"<b>"+userlist[k].getElementsByTagName("name")[0].childNodes[0].nodeValue+"</b>, ";
                        subNode2=subNode2+"<b>"+userlist[k].getElementsByTagName("jobtitle")[0].firstChild.nodeValue+"</b>, ";
                        }
                    }catch(e){}
                }        
        }
        document.write("Exist area : "+strResult);
        document.write("<br>AttributeValue(userid): "+attrib);
        document.write("<br>subNodeValue(Name) : "+subNode);
        document.write("<br>subNodeValue2(Jobtitle) : "+subNode2);
    }
    GetXMLData("VisitUser.xml");
    </script>
    </body>
    </html>
      

  5.   

    XML文件和HTML文件放在服务器的同一个目录测试即可,