读出如下XML
<?xml version="1.0" encoding="utf-8" ?>
<Student>
<Name>张靓颖</Name>
<Age>20</Age>
<Hobby>唱歌歌</Hobby>
<Hobby2>唱歌歌</Hobby2>
<Hobby3>唱歌歌</Hobby3>
<Name>周杰杰</Name>
<Age>22</Age>
<Hobby>刷双截棍棍</Hobby>
<Name>哈哈啊</Name>
<Age>23</Age>
<Hobby>嘿嘿嘿</Hobby>
<Name>啊啊啊</Name>
<Age>24</Age>
<Hobby>恩恩额恩</Hobby>
</Student>
形成以Name为根节点,其余属性为各自其子节点的treeview
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
namespace Q1
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void btnFill_Click(object sender, EventArgs e)
{
if (!File.Exists("http://www.cnblogs.com/Student.xml")) return;
XmlDocument xml = new XmlDocument();
xml.Load("http://www.cnblogs.com/Student.xml");
XmlNode student = xml.DocumentElement;
foreach (XmlNode node in student.ChildNodes)
{
TreeNode tnode = new TreeNode();
switch (node.Name)
{
case "Name":
tnode = tvMainInfo.Nodes.Add(node.InnerText);
AddNode(node, tnode);
break;
}
}
}
private void AddNode(XmlNode node, TreeNode tnode)
{
if (node.NextSibling == null || node.NextSibling.Name=="Name")
{
return;
}
tnode.Nodes.Add(node.NextSibling.InnerText);
AddNode(node.NextSibling, tnode);
}
}
}
浙公网安备 33010602011771号