(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());

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 }
posted @ 2008-10-17 19:59  Edward Xie  阅读(260)  评论(0编辑  收藏  举报