首页 > 后端开发 > C++ > 将XML解析到C#TreeView时,如何避免重复属性显示?

将XML解析到C#TreeView时,如何避免重复属性显示?

Barbara Streisand
发布: 2025-01-27 11:51:09
原创
245 人浏览过

How to Avoid Duplicate Attribute Display When Parsing XML into a C# TreeView?

在 C# 中将包含属性的 XML 文件解析到 TreeView 控件的方法

问题:

使用 foreach 循环解析包含属性的 XML 文件时,属性会显示多次。如何修改代码以仅显示一次属性?

解决方案:

要在 TreeView 控件中仅显示一次属性:

<code class="language-csharp">private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
{
    if (inXmlNode.HasChildNodes)
    {
        // 检查 XmlNode 是否具有属性
        string attributes = "";
        foreach (XmlAttribute att in inXmlNode.Attributes)
        {
            attributes += " " + att.Name + ": " + att.Value;
        }
        if (!string.IsNullOrEmpty(attributes))
        {
            inTreeNode.Text += attributes;
        }


        foreach (XmlNode node in inXmlNode.ChildNodes)
        {
            TreeNode newNode = inTreeNode.Nodes.Add(node.Name);
            AddNode(node, newNode);
        }
    }
}</code>
登录后复制

说明:

更新后的代码将属性循环移到子节点循环之外。这样可以确保即使父节点下有多个子节点,属性也只显示一次。 改进后的代码使用字符串变量 attributes 来累积所有属性,然后一次性添加到 inTreeNode.Text 中,避免了重复添加。

以上是将XML解析到C#TreeView时,如何避免重复属性显示?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板