(4)c# XML
此文仅提到代码里用到的知识点,详细知识见XML DOM。
XmlDocument对象
属性
DocumentElement 获取根节点
ChildNodes 获取所有子节点
方法
Load() 加载XML文件
XmlNode对象
属性
InnerText 当前节点值
Name 当前节点名字
ChileNodes 当前节点下所有子节点
1
2 private void btnOpen_Click(object sender, EventArgs e)
3 {
4 //打开openfile对话框
5 this.ofdFile.ShowDialog();
6 //建立xmldocument对象
7 XmlDocument doc = new XmlDocument();
8 //加载openfile返回的文件路径
9 doc.Load(ofdFile.FileName);
10 //定义XML子节点 并获得根节点
11 XmlNode node = doc.DocumentElement;
12 //循环读取根节点下子节点
13 foreach (XmlNode n in node.ChildNodes)
14 {
15 //定义treeview子节点
16 TreeNode treeNode;
17 //把xml子节点名字赋值给,treeview子节点
18 treeNode = this.tvMyXml.Nodes.Add(n.Name);
19 //对其重子节点循环,并把xml文档中的值赋值给treeview
20 foreach (XmlNode subNode in n.ChildNodes)
21 {
22 treeNode.Nodes.Add(subNode.InnerText);
23 }
24 }
25 }
26
27 private void tvMyXml_AfterSelect(object sender, TreeViewEventArgs e)
28 {
29 //当前选中节点的值赋值给标签框
30 this.lblTvSelect.Text = this.tvMyXml.SelectedNode.Text;
31 //弹出引用下标,提示用
32 MessageBox.Show(this.tvMyXml.SelectedNode.Index.ToString());
2 private void btnOpen_Click(object sender, EventArgs e)
3 {
4 //打开openfile对话框
5 this.ofdFile.ShowDialog();
6 //建立xmldocument对象
7 XmlDocument doc = new XmlDocument();
8 //加载openfile返回的文件路径
9 doc.Load(ofdFile.FileName);
10 //定义XML子节点 并获得根节点
11 XmlNode node = doc.DocumentElement;
12 //循环读取根节点下子节点
13 foreach (XmlNode n in node.ChildNodes)
14 {
15 //定义treeview子节点
16 TreeNode treeNode;
17 //把xml子节点名字赋值给,treeview子节点
18 treeNode = this.tvMyXml.Nodes.Add(n.Name);
19 //对其重子节点循环,并把xml文档中的值赋值给treeview
20 foreach (XmlNode subNode in n.ChildNodes)
21 {
22 treeNode.Nodes.Add(subNode.InnerText);
23 }
24 }
25 }
26
27 private void tvMyXml_AfterSelect(object sender, TreeViewEventArgs e)
28 {
29 //当前选中节点的值赋值给标签框
30 this.lblTvSelect.Text = this.tvMyXml.SelectedNode.Text;
31 //弹出引用下标,提示用
32 MessageBox.Show(this.tvMyXml.SelectedNode.Index.ToString());
33 }
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
1 //创建XmlDocument对象
2 XmlDocument myXml = new XmlDocument();
3 //加载XML文件
4 myXml.Load("Student.xml");
5
6 //获取xml文档根元素
7 XmlNode student = myXml.DocumentElement;
8
9 //循环读取根节点下子节点
10 foreach (XmlNode node in student.ChildNodes )
11 {
12 //获得子节点名字 取出对应值
13 switch (node.Name)
14 {
15 case "Name":
16 Console.WriteLine("姓名:{0}",node.InnerText);
17 break;
18 …
19 }
20 }
2 XmlDocument myXml = new XmlDocument();
3 //加载XML文件
4 myXml.Load("Student.xml");
5
6 //获取xml文档根元素
7 XmlNode student = myXml.DocumentElement;
8
9 //循环读取根节点下子节点
10 foreach (XmlNode node in student.ChildNodes )
11 {
12 //获得子节点名字 取出对应值
13 switch (node.Name)
14 {
15 case "Name":
16 Console.WriteLine("姓名:{0}",node.InnerText);
17 break;
18 …
19 }
20 }