题目三:读取XML文件动态绑定TreeView控件
一、语言和环境
A、实现语言
C#
B、环境要求
Visual Studio 2012
二、功能要求
现使用.NET WinForms技术为居委会开发一个街道管理软件,其中街道管理窗体界面如图-4所示。
要求:
1、读取提供的XML文件(详见 \提供给学员的素材\Address.xml),将其信息动态添加到TreeView控件中。
2、创建表示地址信息的实体类,并使用泛型集合保存XML文件中的信息。
3、选中某子节点,能够将相关信息显示到右侧的文本框中,如图-4所示。
4、窗体标题为“街道管理”。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; namespace 题目三 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { XmlDocument xmldoc = new XmlDocument(); xmldoc.Load("Address.xml"); XmlElement node = xmldoc.DocumentElement; TreeNode rootnode = new TreeNode(node.Attributes["name"].Value); this.treeView1.Nodes.Add(rootnode); foreach (XmlNode xml in node.ChildNodes) { TreeNode childnode = new TreeNode(xml.Attributes["name"].Value); rootnode.Nodes.Add(childnode); foreach (XmlNode x in xml.ChildNodes) { TreeNode tn = new TreeNode(x.Attributes["name"].Value); childnode.Nodes.Add(tn); foreach (XmlNode xm in x.ChildNodes) { TreeNode tnd = new TreeNode(xm.InnerXml); tn.Nodes.Add(tnd); } } } } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (treeView1.SelectedNode.Level == 0) { textBox1.Text = treeView1.SelectedNode.Text; textBox2.Text = ""; textBox3.Text = ""; textBox4.Text = ""; } if (treeView1.SelectedNode.Level == 1) { textBox1.Text = treeView1.SelectedNode.Parent.Text; textBox2.Text = treeView1.SelectedNode.Text; textBox3.Text = ""; textBox4.Text = ""; } if (treeView1.SelectedNode.Level == 2) { textBox1.Text = treeView1.Nodes[0].Text; textBox2.Text = treeView1.SelectedNode.Parent.Text; textBox3.Text = treeView1.SelectedNode.Text; textBox4.Text = ""; } if (treeView1.SelectedNode.Level == 3) { textBox1.Text = treeView1.Nodes[0].Text; textBox2.Text = treeView1.SelectedNode.Parent.Parent.Text; textBox3.Text = treeView1.SelectedNode.Parent.Text; textBox4.Text = treeView1.SelectedNode.Text; } } } }