当前位置: 首页 > 图文教程 > XML家族 > XML > 从xml中获取城市,省份名称

XML
XML简易教程之四
XML与HTML的结合(上)
XML与HTML的结合(下)
XML入门的常见问题(一)
XML入门的常见问题(二)
XMLHTTP资料
什么是XML
什么是 XML Web Service
XML正在接管Web服务 成为SOA的基础
怎么样在网页上读取远程xml的数据
XML教程—编写结构完整的XML文档
读写xml文件的2个小函数
XML文档的基本操作
初学者如何开发出一个高质量的J2EE系统
优化 JavaScript 代码
自动更新程序的设计框架
使Firefox对XML的处理兼容IE的节点处理方法
WML学习之四 锚和任务
WML学习之五 显示表单
WML学习之六 事件

XML 中的 从xml中获取城市,省份名称


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 31 ::
收藏到网摘: n/a

最近没事,写了个在项目经常要取城市或省份名的方法,所以改成了一个类.方便以后调用


//********************************************************************************
//*                                                                              *
//    功能描述:从xml中获取数据
//    版本编号:owendu V1.1
//    初始创建: 2006.08.27
//    最后修改: 2006.10.08
//*                                                                              *
//********************************************************************************


//根据cityid,获取返回cityname   ---------------xmlurl 指的是整个站点的路征
//页面调用方式如下:<script language=javascript>GetCityName("<%=cityid%>","<%=System.Configuration.ConfigurationSettings.AppSettings["LocalSiteURL"]%>")</script>
function GetCityName(cityid,xmlurl)
{
    
     var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
       XmlDoc_city.async=false;
       XmlDoc_city.validateOnParse=false;
       var Url=xmlurl+"XmlData/city.xml";
       XmlDoc_city.load(Url);
   
  //
    if (XmlDoc_city.readyState == 4 && XmlDoc_city.xml != "")
  {
 
   var city;
   var cities = XmlDoc_city.documentElement.selectNodes("city");
  
   for (var i=0; i < cities.length; i++)
   {
    city = cities[i];
    if (city.getAttribute("cityid") == cityid)
    {
   
     document.write(city.getAttribute("cityname"));
     break;
    }
     //obj2.options[obj2.length] = new Option(city.getAttribute("cityname"),city.getAttribute("cityid"));
   }
     }
    // else
    // {
        //alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
    // }
}

//根据省份id,获取返回省名   ---------------xmlurl 指的是整个站点的路征
function GetProviceName(pid,xmlurl)
{
    
    var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
    XmlDoc_city.async=false;
    XmlDoc_city.validateOnParse=false;
    var Url=xmlurl+"XmlData/province.xml";
    XmlDoc_city.load(Url);   
    if(XmlDoc_city.readyState == 4 && XmlDoc_city.xml != "")
 {
  var city;
  var cities = XmlDoc_city.documentElement.selectNodes("province");
 
  for (var i=0; i < cities.length; i++)
  {
   city = cities[i];
   if (city.getAttribute("provinceid") == pid)
   {  
    document.write(city.getAttribute("provincename"));
    break;
   }    
  }
 }
}

//根据地区districtid,获取返回地区名   ---------------xmlurl 指的是整个站点的路征
function GetProviceName(districtid,xmlurl)
{
    
    var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
    XmlDoc_city.async=false;
    XmlDoc_city.validateOnParse=false;
    var Url=xmlurl+"XmlData/district.xml";
    XmlDoc_city.load(Url);   
    if(XmlDoc_city.readyState == 4 && XmlDoc_city.xml != "")
 {
  var city;
  var cities = XmlDoc_city.documentElement.selectNodes("district");
 
  for (var i=0; i < cities.length; i++)
  {
   city = cities[i];
   if (city.getAttribute("districtid") == pid)
   {  
    document.write(city.getAttribute("districtname"));
    break;
   }    
  }
 }
}

//根据省份id,城市id,地区(县)id,获取返回省城市名地区名   ---------------xmlurl 指的是整个站点的路征
function GetName(pid,cityid,districtid ,xmlurl)
{
   var cityname="";
   var provicename="";
   var districtname="";
    //
   
    var XmlDoc_p = new ActiveXObject("MSXML2.DOMDocument.3.0");
    XmlDoc_p.async=false;
    XmlDoc_p.validateOnParse=false;
    var UrlProvice=xmlurl+"XmlData/province.xml";
    XmlDoc_p.load(UrlProvice);   
    //
    
    var XmlDoc_city = new ActiveXObject("MSXML2.DOMDocument.3.0");
    XmlDoc_city.async=false;
    XmlDoc_city.validateOnParse=false;
    var Urlcity=xmlurl+"XmlData/city.xml";
    XmlDoc_city.load(Urlcity);  
   
    //
    var XmlDoc_district = new ActiveXObject("MSXML2.DOMDocument.3.0");
    XmlDoc_district.async=false;
    XmlDoc_district.validateOnParse=false;
    var Urldis=xmlurl+"XmlData/district.xml";
    XmlDoc_district.load(Urldis);  
    //
    if(XmlDoc_p.readyState == 4 && XmlDoc_p.xml != "")
 {
  var provice;
  var provices = XmlDoc_city.documentElement.selectNodes("province");
 
  for (var i=0; i < provices.length; i++)
  {
   provice = provices[i];
   if (provice.getAttribute("provinceid") == pid)
   {  
      provicename=provice.getAttribute("provincename");
    break;
   }    
  }
 }
 
  if(XmlDoc_city.readyState == 4 && XmlDoc_city.xml != "")
 {
  var city;
  var citys = XmlDoc_city.documentElement.selectNodes("city");
 
  for (var i=0; i < citys.length; i++)
  {
   city = citys[i];
   if (city.getAttribute("cityid") == cityid)
   {  
      cityname=city.getAttribute("cityname");
    break;
   }    
  }
 }
 
  if(XmlDoc_district.readyState == 4 && XmlDoc_district.xml != "")
 {
  var district;
  var districts = XmlDoc_district.documentElement.selectNodes("district");
 
  for (var i=0; i < districts.length; i++)
  {
   district = districts[i];
   if (district.getAttribute("districtid") == districtid)
   {  
      districtname=district.getAttribute("districtname");
    break;
   }    
  }
 }
 var name=provicename+" "+cityname+" "+ districtname;
 document.write(name);
 
}

http://www.cnblogs.com/owendu/archive/2006/10/16/530580.html