gpt4 book ai didi

C# Treeview 检查节点是否存在

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:08 24 4
gpt4 key购买 nike

我正在尝试从 XmlDocument 填充 TreeView 。
树的根设置为“脚本”,从根开始下一级应该是 XML 脚本中的“部门”。我可以从 XML 文档中获取数据没有问题。我的问题是当循环通过 XmlDocument 并将节点添加到根节点时,我想确保如果一个部门已经在 TreeView 中,那么它不会再次添加。我还应该补充一点,每个部门还有一个脚本列表,这些脚本需要成为该部门的子节点。

到目前为止,我的代码是:

        XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(scriptInformation);
TreeNode t1;
TreeNode rootNode = new TreeNode("Script View");
treeView1.Nodes.Add(rootNode);
foreach (XmlNode node in xDoc.SelectNodes("//row"))
{
t1 = new TreeNode(node["DEPARTMENT"].InnerXml);
//How to check if node already exists in treeview?



}

谢谢。

最佳答案

if(treeView1.Nodes.ContainsKey("DEPARTMENT")){
//...
}

编辑:递归方法:
 bool exists = false;
foreach (TreeNode node in treeView1.Nodes) {
if (NodeExists(node, "DEPARTMENT"))
exists = true;
}
private bool NodeExists(TreeNode node, string key) {
foreach (TreeNode subNode in node.Nodes) {
if (subNode.Text == key) {
return true;
}
if (node.Nodes.Count > 0) {
NodeExists(node, key);
}
}
return false;
}

关于C# Treeview 检查节点是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com