Asp.Net DropDownList绑定XML数据库
第一步:
<?xml version="1.0" encoding="utf-8" ?> <province> <type name="北京市" ></type> <type name="天津市" ></type> <type name="上海市" ></type> <type name="重庆市" ></type> <type name="河北省" ></type> <type name="山西省" ></type> <type name="陕西省" ></type> <type name="山东省" ></type> <type name="河南省" ></type> <type name="辽宁省" ></type> <type name="吉林省" ></type> <type name="黑龙江省" ></type> <type name="江苏省" ></type> <type name="浙江省" ></type> <type name="安徽省" ></type> <type name="江西省" ></type> <type name="福建省" ></type> <type name="湖北省" ></type> <type name="湖南省" ></type> <type name="四川省" ></type> <type name="贵州省" ></type> <type name="云南省" ></type> <type name="广东省" ></type> <type name="海南省" ></type> <type name="甘肃省" ></type> <type name="青海省" ></type> <type name="台湾省" ></type> <type name="内蒙古自治区" ></type> <type name="新疆维吾尔自治区" ></type> <type name="西藏自治区" ></type> <type name="广西壮族自治区" ></type> <type name="宁夏回族自治区" ></type> <type name="香港特别行政区" ></type> <type name="澳门特别行政区" ></type> </province>
第二步:
public class Qlist { private string _id; public string Id { get { return _id; } set { _id = value; } } private string _name; public string Name { get { return _name; } set { _name = value; } } }
第三步:
/// <summary> /// 绑定省份 /// </summary> public void GetProvince() { string xml = AppDomain.CurrentDomain.BaseDirectory + @"Tools\Province.xml"; XmlDocument xmlDoc = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true;//忽略文档里面的注释 XmlReader reader = XmlReader.Create(xml, settings); xmlDoc.Load(reader); XmlNode xn = xmlDoc.SelectSingleNode("province"); XmlNodeList xnl = xn.ChildNodes; List<Qlist> _list = new List<Qlist>(); foreach (XmlNode xnmode in xnl) { Qlist t = new Qlist(); XmlElement xe = (XmlElement)xnmode; if (xe.Name == "type") { t.Name = xe.GetAttribute("name").ToString(); t.Id = xe.GetAttribute("Id").ToString(); _list.Add(t); } } this.ddlProvince.DataSource = _list; this.ddlProvince.DataTextField = "Name"; this.ddlProvince.DataValueField = "Name"; this.ddlProvince.DataBind(); }