private void frmDemo_Load(object sender, System.EventArgs e)
{
//获得Xml根结点
XmlDataDocument xmlDoc = new XmlDataDocument();
xmlDoc.Load(@"world.xml");
XmlElement xmlRoot = xmlDoc.DocumentElement;
//获得TreeView节点
TreeNode treeNode = this.trvShow.Nodes.Add(xmlRoot.LocalName);
//调用递归方法获得子节点
getChildNode(xmlRoot, treeNode);
initListView(xmlRoot);
}
/// <summary>
/// 获得子节点
/// </summary>
/// <param name="xmlNode">Xml子节点</param>
/// <param name="treeNode">TreeView节点</param>
private void getChildNode(XmlNode xmlNode, TreeNode treeNode)
{
foreach(XmlNode subxmlNode in xmlNode)
{
TreeNode subtreeNode = treeNode.Nodes.Add(subxmlNode.LocalName);
if(subxmlNode.HasChildNodes)
{
this.getChildNode(subxmlNode, subtreeNode);
Console.WriteLine(subxmlNode.LocalName);
}
}
}
=======================================================
<?xml version="1.0" encoding="utf-8" ?>
<world>
<China>
<辽宁>
<沈阳>
<沈河区/>
</沈阳>
</辽宁>
</China>
<America>
<Califonia>
<Dallas>
<BrownTreeHouse/>
</Dallas>
</Califonia>
</America>
</world>
<world>
<China>
<辽宁>
<沈阳>
<沈河区/>
</沈阳>
</辽宁>
</China>
<America>
<Califonia>
<Dallas>
<BrownTreeHouse/>
</Dallas>
</Califonia>
</America>
</world>