xml文件如下:
<BADI>
<Objects>
                <Object ElementType="tv">
<Property Name="Ma">0</Property>
<Property Name="Re">1</Property>
<Property Name="Rs">2</Property>
</Object>

                <Object ElementType="music">
<Property Name="Ty">3</Property>
<Property Name="De">4</Property>
<Property Name="Au">5</Property> </Object>
<Objects>
<BADI>请问如何分别解析出tv和music中的Property中的值,即0,1,2和3,4,5。
例如能否通过music就能解析出3,4,5.

解决方案 »

  1.   


    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async=false;
      xmlDoc.loadXML(路径);
    arr = xmlDoc.selectSingleNodes("/xx/xx/region/@name").value; 
    @name就是属性值
    读取的结果是一个数组,lz再根据数组取值就ok
      

  2.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
     <head>
      <title> New Document </title>
     </head>
    <body><script type="text/javascript">
    var xmlDoc=null;
    if (window.ActiveXObject)
    {
        // code for IE
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
        else if (document.implementation.createDocument)
    {
        // code for Mozilla, Firefox, Opera, etc.
        xmlDoc=document.implementation.createDocument("","",null);
    }
    else
    {
        alert('Your browser cannot handle this script');
    }
    if (xmlDoc!=null)
    {
        xmlDoc.async=false;
        xmlDoc.load("a.xml");
    }
    var s = xmlDoc.getElementsByTagName("Objects");
    var music = xmlDoc.selectNodes("BADI/Objects/Object[@ElementType='music']/Property/text()");
    var tv = xmlDoc.selectNodes("BADI/Objects/Object[@ElementType='tv']/Property/text()");
    for(var i=0;i<music.length;i++){
    alert(music[i].text);
    }
    for(var i=0;i<tv.length;i++){
    alert(tv[i].text);
    }</script>
    </body>
    </html>
      

  3.   

    首先你的xml表签要成对<?xml version="1.0" encoding="UTF-8"?>  
    <BADI>
    <Objects> 
    <Object ElementType="tv">
    <Property Name="Ma">0</Property>
    <Property Name="Re">1</Property>
    <Property Name="Rs">2</Property>
    </Object>

    <Object ElementType="music">
    <Property Name="Ty">3</Property>
    <Property Name="De">4</Property>
    <Property Name="Au">5</Property>
    </Object>
    </Objects> 
    </BADI><!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" />
    <title>hello</title>
    <style>
    #test{
        display:none;
        margin-top:-10px;
    }</style>
    <script src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
       function  NewInfo(){
    //alert("1")
        var xmlDom;     //XML DOM object
    var xmlFile="ff.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(xmlFile)
    xmlDom=loadXML(xmlFile);
    var newsList2=xmlDom.getElementsByTagName("Objects");
    //alert(newsList2.length)
       var a_Url = newsList2[0].getElementsByTagName("Object")['@ElementType=music'].childNodes[0].nodeValue;
       alert(a_Url)
    }</script></script>
    </head><body onload="NewInfo()"></body>
    </html>
      

  4.   

    首先你的xml表签要成对<?xml version="1.0" encoding="UTF-8"?>  
    <BADI>
    <Objects> 
    <Object ElementType="tv">
    <Property Name="Ma">0</Property>
    <Property Name="Re">1</Property>
    <Property Name="Rs">2</Property>
    </Object>

    <Object ElementType="music">
    <Property Name="Ty">3</Property>
    <Property Name="De">4</Property>
    <Property Name="Au">5</Property>
    </Object>
    </Objects> 
    </BADI><!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" />
    <title>hello</title>
    <style>
    #test{
        display:none;
        margin-top:-10px;
    }</style>
    <script src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
       function  NewInfo(){
    //alert("1")
        var xmlDom;     //XML DOM object
    var xmlFile="ff.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(xmlFile)
    xmlDom=loadXML(xmlFile);
    var newsList2=xmlDom.getElementsByTagName("Objects");
    //alert(newsList2.length)
       var a_Url = newsList2[0].getElementsByTagName("Object")['@ElementType=music'].childNodes[0].nodeValue;
       alert(a_Url)
    }</script></script>
    </head><body onload="NewInfo()"></body>
    </html>
      

  5.   

    如果值为空呢?
    例如:<Property Name="Au"></Property>
    如果要的道Au=   如何解析,selectNodes把空值忽略了吧。