110,537
社区成员
发帖
与我相关
我的任务
分享
private void toolStripButton1_Click(object sender, EventArgs e)
{
//从XML中读取数据到TreeView
if (this.dlgOpen.ShowDialog() == DialogResult.OK)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(dlgOpen.FileName);
XmlNodeList xmlNodes = xmlDoc.DocumentElement.ChildNodes;
this.treeView1.BeginUpdate();
this.treeView1.Nodes.Clear();
XmlNode2TreeNode(xmlNodes, this.treeView1.Nodes);
this.treeView1.EndUpdate();
}
}
private void XmlNode2TreeNode(XmlNodeList xmlNode, TreeNodeCollection treeNode)
{
foreach (XmlNode var in xmlNode)
{
if (var.NodeType != XmlNodeType.Element)
{
continue;
}
TreeNode newTreeNode = new TreeNode();
newTreeNode.Text = var.Attributes["Name"] != null ? var.Attributes["Name"].Value : null;
if (var.HasChildNodes)
{
if (var.ChildNodes[0].NodeType == XmlNodeType.CDATA)
{
newTreeNode.Tag = var.ChildNodes[0].Value;
}
XmlNode2TreeNode(var.ChildNodes, newTreeNode.Nodes);
}
treeNode.Add(newTreeNode);
}
}
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Pcg Version="2.0">
<Indexes>
<Head>
<Version>版本号</Version>
<CreateTime>建立时间</CreateTime>
<IndexesName>根目录名</IndexesName>
<CreateDepartment>提交部门</CreateDepartment>
</Head>
<Data>
<Element FolderNum="成果分类总数" FileNum="成果图件总数" MaxLevel="最大层级数">
<Folder Name="成果图件">
<Folder Name="平面图" />
<Folder Name="平面图">
<Folder Name="XX层-平均速度图" />
</Folder>
<Folder Name="平面图">
<Folder Name="平面图">
<Folder Name="表格" />
<Folder Name="同步对比1111" />
</Folder>
</Folder>
<Folder Name="平面图" />
</Folder>
</Element>
</Data>
</Indexes>
</Pcg>