我用jQuery解析xml
          代码是这样写的:
            $.ajax({url:"xmlp.xml", 
dataType: "xml", 
success:function(xml){ 
$(xml).find("FIELDMETA").each(function (){
alert("==");
});
}
});
           但是一直报一个错,说是对象不支持此属性  怎么回事啊
    请各位帮我解决下  

解决方案 »

  1.   

    先从浏览器里查看 xml是否格式正确。另外,js的大小写是否一致。
    参考
    http://think2loud.com/reading-xml-with-jquery/
      

  2.   

    楼主我给你一个例子:<!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>js测试</title>
    <script src="jquery-1.3.2.js"></script>
    <script>
    $(document).ready(function(){
    $.ajax({url:"province.xml",
    success:function(xml){
    $(xml).find("province").each(function(){
    var t = $(this).attr("name");//this->
    $("#DropProvince").append("<option>"+t+"</option>");
    });
    }
    });
    $("#DropProvince").change(function(){
    $("#sCity>option").remove();
    var pname = $("#DropProvince").val();
    $.ajax({url:"province.xml",
    success:function(xml){
    $(xml).find("province[name='"+pname+"']>city").each(function(){
    $("#sCity").append("<option>"+$(this).text()+"</option>");
    });
    }
    });
    }); 
    });</script>
    </head>
    <body>
    <form id="form1">
    <div>
    <select id="DropProvince" style="width:60px;">
    <option>请选择</option>
    </select>
    <select id="sCity" style="width:60px;">
    </select>
    </div>
    </form> 
    </body>
    </html>province.xml<?xml version="1.0" encoding="utf-8" ?>
    <provinces>
    <province name="湖北">
    <city>武汉</city>
    <city>黄石</city>
    <city>宜昌</city>
    <city>天门</city>
    </province>
    <province name="湖南">
    <city>邵阳</city>
    <city>长沙</city>
    <city>岳阳</city>
    </province>
    <province name="广东">
    <city>广州</city>
    <city>深圳</city>
    </province>
    </provinces>
      

  3.   

    楼主怎么不行啊,你引入jquery库了吗?你的路径对吗?格式和我的一样吗?
      

  4.   

      还没解决,一用到find方法就报错了
      

  5.   

      我想解析这个xml<?xml version="1.0" standalone="no"?>
    <EASYXML xmlns="http://mapservice.easymap.com" version="1.1">
    <RESPONSE>
    <METADATA>
    <TABLESMETA>
    <TABLEMETA displayname="ASJ_PT" name="GIS0001.ASJ_PT" objectidcolumn="OBJECTID">
    <LAYEREXTENSION crs="GCS_WGS_1984" fullextent="116.95800000000001,31.6896900013089,119.93017000518701,36.849600000307" geotype="multipoint" spatialcolumn="SHAPE"/>
    <FIELDSMETA>
    <FIELDMETA displayname="GXDWDM" name="GXDWDM" type="String"></FIELDMETA>
    <FIELDMETA displayname="AJMC" name="AJMC" type="String"></FIELDMETA>
    <FIELDMETA displayname="AJBH" name="AJBH" type="String"></FIELDMETA>
    <FIELDMETA displayname="LAYERNAME" name="LAYERNAME" type="String"></FIELDMETA>
    <FIELDMETA displayname="SSPCSBH" name="SSPCSBH" type="String"></FIELDMETA>
    <FIELDMETA displayname="GATHSTATE" name="GATHSTATE" type="String"></FIELDMETA>
    <FIELDMETA displayname="CJRY" name="CJRY" type="String"></FIELDMETA>
    <FIELDMETA displayname="SSXQ" name="SSXQ" type="String"></FIELDMETA>
    <FIELDMETA displayname="IMAGEPATH" name="IMAGEPATH" type="String"></FIELDMETA>
    <FIELDMETA displayname="BJLBDM" name="BJLBDM" type="String"></FIELDMETA>
    <FIELDMETA displayname="BJLXDM" name="BJLXDM" type="String"></FIELDMETA>
    <FIELDMETA displayname="FASJ" name="FASJ" type="Int32"></FIELDMETA>
    <FIELDMETA displayname="SSGAFJBH" name="SSGAFJBH" type="String"></FIELDMETA>
    <FIELDMETA displayname="PCSMC" name="PCSMC" type="String"></FIELDMETA>
    <FIELDMETA displayname="ZBX" name="ZBX" type="Double"></FIELDMETA>
    <FIELDMETA displayname="ZBY" name="ZBY" type="Double"></FIELDMETA>
    <FIELDMETA displayname="SHAPE" name="SHAPE" type="Geometry"></FIELDMETA>
    <FIELDMETA displayname="OBJECTID" name="OBJECTID" type="Int32"></FIELDMETA>
    <FIELDMETA displayname="CJRQ" name="CJRQ" type="Date"></FIELDMETA>
    </FIELDSMETA>
    </TABLEMETA>
    </TABLESMETA>
    </METADATA>
    </RESPONSE>
    </EASYXML>
      

  6.   

      谢谢各位  解决了 ,  原来dataType那里不用写类型;