C# Winform工程省市县三级行政区联动 --XML
2016-04-13 22:00
471 查看
C#窗体应用程序,省市县三级行政区ComboBox控件,联动下拉选择。
运行效果
三级行政区XML文件链接:http://pan.baidu.com/s/1kUEBdtH
参考文献:
/article/7130043.html
/article/11422450.html
运行效果
三级行政区XML文件链接:http://pan.baidu.com/s/1kUEBdtH
参考文献:
/article/7130043.html
/article/11422450.html
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Web; using System.Xml; using System.Runtime.Serialization; using System.IO; using System.Net; namespace ProcessBarTest { public partial class Form2 : Form { public XmlDocument Provincedoc; public XmlDocument Citydoc; public XmlDocument Districtdoc; public XmlElement ProvincerootElem; public XmlElement CityrootElem; public XmlElement DistrictrootElem; public XmlNodeList ProvinceNodes; public XmlNodeList CityNodes; public XmlNodeList DistrictNodes; public string ProvinceName; public string ProvinceID; public string CityName; public string CityID; public Form2() { InitializeComponent(); Provincedoc = new XmlDocument(); Provincedoc.Load(System.Windows.Forms.Application.StartupPath + "/全国省市区数据库/Provinces.xml"); //加载Xml文件 ProvincerootElem = Provincedoc.DocumentElement; //获取根节点 ProvinceNodes = ProvincerootElem.GetElementsByTagName("Province"); //获取Provinces子节点集合 Citydoc = new XmlDocument(); Citydoc.Load(System.Windows.Forms.Application.StartupPath + "/全国省市区数据库/Cities.xml"); //加载Xml文件 CityrootElem = Citydoc.DocumentElement; //获取根节点 CityNodes = CityrootElem.GetElementsByTagName("City"); //获取Cities子节点集合 Districtdoc = new XmlDocument(); Districtdoc.Load(System.Windows.Forms.Application.StartupPath + "/全国省市区数据库/Districts.xml"); //加载Xml文件 DistrictrootElem = Districtdoc.DocumentElement; //获取根节点 DistrictNodes = DistrictrootElem.GetElementsByTagName("District"); //获取Cities子节点集合 foreach (XmlNode Provincenode in ProvinceNodes) { string strProvinceName = ((XmlElement)Provincenode).GetAttribute("ProvinceName"); //获取name属性值 string strProvinceID = ((XmlElement)Provincenode).GetAttribute("ID"); comboBox_sheng.Items.Add(strProvinceName); } } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { ProvinceName = comboBox_sheng.SelectedItem.ToString(); comboBox_xian.Items.Clear(); comboBox_shi.Items.Clear(); foreach (XmlNode Provincenode in ProvinceNodes) { if (((XmlElement)Provincenode).GetAttribute("ProvinceName").Equals(comboBox_sheng.SelectedItem.ToString())) { ProvinceID = ((XmlElement)Provincenode).GetAttribute("ID"); break; } } foreach (XmlNode Citynode in CityNodes) { if (((XmlElement)Citynode).GetAttribute("PID").Equals(ProvinceID)) { string strCityName = ((XmlElement)Citynode).GetAttribute("CityName"); comboBox_shi.Items.Add(strCityName); } } } private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { CityName = comboBox_shi.SelectedItem.ToString(); comboBox_xian.Items.Clear(); foreach (XmlNode Citynode in CityNodes) { if (((XmlElement)Citynode).GetAttribute("CityName").Equals(CityName) && ((XmlElement)Citynode).GetAttribute("PID").Equals(ProvinceID)) { CityID = ((XmlElement)Citynode).GetAttribute("ID"); break; } } foreach (XmlNode Districtnode in DistrictNodes) { if (((XmlElement)Districtnode).GetAttribute("CID").Equals(CityID)) { string strDistrictName = ((XmlElement)Districtnode).GetAttribute("DistrictName"); //获取name属性值 comboBox_xian.Items.Add(strDistrictName); } } } private void comboBox3_SelectedIndexChanged(object sender, EventArgs e) { } } }
相关文章推荐
- C#中的代码书写规范以及命名规范
- C#读取Excel数据到数组
- 0基础学C#教程2--------C#如何调用excel,试用最新版的excel
- C# 结构体直接赋值的问题
- C#中struct的字节对齐、转换操作和复制为二进制数据(byte[])
- c#中关于结构体和字节数组转化
- 关于C# byte[]与struct的转换
- 【C#】delegate(委托) 将方法作为参数在类class 之间传递
- C#枚举
- C# 程序性能提升篇-1、装箱和拆箱,枚举的ToString浅析
- C#设计模式学习笔记-单例模式
- C# 操作XML文档 使用XmlDocument类方法
- C#如何在钉钉开发平台中创建部门
- C#与USB HID间的通信
- C# 关键字,运算符,预处理器指令
- 改善C#程序的建议9:使用Task代替ThreadPool和Thread
- C#索引器
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全
- 总结C#获取当前路径的7种方法
- C#常用正则过滤