最近沒事,寫了個在專案常要取城市或省份名的方法,所以改成了一個類.方便以後調用
//************************************************ ********************************
//* *
// 功能描述:從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