XMLFile1.xml文件如下:
01 |
<?xml version="1.0" encoding="utf-8" ?> |
02 |
<root name="rootNode" text="根节点"> |
03 |
<node name="node1" text="节点1"> |
04 |
<childNode name="childNode1" text="子节点1"> |
05 |
<grandchild name="grandchild1" text="子子节点1"></grandchild> |
06 |
<grandchild name="grandchild2" text="子子节点2"></grandchild> |
07 |
<grandchild name="grandchild3" text="子子节点3"></grandchild> |
08 |
<grandchild name="grandchild4" text="子子节点4"></grandchild> |
10 |
<childNode name="childNode1" text="子节点1"></childNode> |
11 |
<childNode name="childNode2" text="子节点2"></childNode> |
13 |
<node name="node2" text="节点2"> |
14 |
<childNode name="childNode1" text="子节点1"></childNode> |
15 |
<childNode name="childNode2" text="子节点2"></childNode> |
16 |
<childNode name="childNode3" text="子节点3"></childNode> |
18 |
<node name="node3" text="节点3"> |
19 |
<childNode name="childNode1" text="子节点1"></childNode> |
20 |
<childNode name="childNode2" text="子节点2"></childNode> |
21 |
<childNode name="childNode3" text="子节点3"></childNode> |
23 |
<node name="node4" text="节点4"> |
24 |
<childNode name="childNode1" text="子节点1"></childNode> |
25 |
<childNode name="childNode2" text="子节点2"></childNode> |
26 |
<childNode name="childNode3" text="子节点3"></childNode> |
将这个xml文件加载到Winform的treeview上
后台代码如下:
02 |
using System.Collections.Generic; |
03 |
using System.ComponentModel; |
07 |
using System.Windows.Forms; |
10 |
namespace WindowsApplication1 |
12 |
public partial class Form1 : Form |
16 |
InitializeComponent(); |
18 |
XmlDocument doc = new XmlDocument(); |
22 |
string path = AppDomain.CurrentDomain.BaseDirectory + "XMLFile1.xml"; |
24 |
treeView1.BeginUpdate(); |
25 |
XmlElement xe = (XmlElement)doc.SelectSingleNode("root"); |
26 |
TreeNode root = new TreeNode(); |
27 |
root.Name = xe.GetAttribute("name"); |
28 |
root.Text = xe.GetAttribute("text"); |
29 |
root = GetChildNodes(xe, root); |
30 |
treeView1.Nodes.Add(root); |
31 |
treeView1.EndUpdate(); |
35 |
MessageBox.Show(ex.ToString()); |
39 |
public TreeNode GetChildNodes(XmlElement xe, TreeNode upNode) |
43 |
foreach (XmlNode node in xe.ChildNodes) |
45 |
XmlElement xlt = (XmlElement)node; |
46 |
TreeNode tn = new TreeNode(); |
47 |
tn.Text = xlt.GetAttribute("text"); |
48 |
tn.Name = xlt.GetAttribute("name"); |
49 |
GetChildNodes(xlt, tn); |
效果如下图:
