先序遍历:
个体觉得比中序,后序容易记也比较实用,效率也还行
private void Form1_Load(object sender, EventArgs e)
{
this.SuspendLayout();
var treeView1 = new TreeView();
treeView1.Dock = DockStyle.Fill;
this.Controls.Add(treeView1);
this.ResumeLayout(true);
var _XMLDocument = new XmlDocument();
_XMLDocument.Load(Application.StartupPath + "\\Demo.XML");
this.BuildTree(_XMLDocument.ChildNodes, treeView1.Nodes);
}
public virtual void BuildTree(XmlNodeList XMLNodes, TreeNodeCollection treeNodes)
{
for (var i = 0; i < XMLNodes.Count; i++) {
var _Node = XMLNodes[i];
if (_Node.NodeType == XmlNodeType.Element) {
var treeNode = treeNodes.Add(_Node.LocalName);
if (_Node.HasChildNodes) {
this.BuildTree(_Node.ChildNodes, treeNode.Nodes);
}
}
}
}
Xml 文本:
<_0x1>
<_0x2>
<_0x3>
</_0x3>
</_0x2>
<_0x4>
<_0x5>
<_0x6>
</_0x6>
</_0x5>
</_0x4>
</_0x1>