XmlDocument xml = new XmlDocument(); xml.Load("Address.xml"); XmlNode node1 = xml.DocumentElement; string name1 = node1.Attributes["name"].Value TreeNode node2 = new TreeNode(name1); treeView1.Nodes.Add(node2); foreach (XmlNode item in node1.ChildNodes ) { string name2=item .Attributes["name"].Value; TreeNode node3 = new TreeNode(name2); node2.Nodes.Add(node3); foreach (XmlNode item2 in item.ChildNodes ) { //获取该节点值 string name3=item2.Attributes["name"].Value ; string smid=item2.Attributes["smid"].Value ; TreeNode node4 = new TreeNode(name3); node3.Nodes.Add(node4); foreach (XmlNode item3 in item2.ChildNodes ) { TreeNode node5 = new TreeNode(item3 .InnerText ); node4.Nodes.Add(node5); if (item3.Name == "fjname") { DiZhi dz=new DiZhi (); dz.Name = name1; dz.Juwei = name2; dz.Jianzhu = name3; dz.Fjname = item3.InnerText; node5.Tag = dz; } } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (treeView1.SelectedNode.Level == 3) { DiZhi st = (DiZhi)treeView1.SelectedNode.Tag; txtjiedao.Text = st.Name; txtjuweihui.Text = st.Juwei; txtloudao.Text = st.Jianzhu; txtfangjianhao.Text = st.Fjname; } }