ホームページ >バックエンド開発 >C++ >XMLをC#TreeViewに解析するときに、属性表示の重複を避ける方法は?

XMLをC#TreeViewに解析するときに、属性表示の重複を避ける方法は?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-27 11:51:09264ブラウズ

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

c#の属性に含まれるxmlファイルを分析する方法treeviewコントロールの属性の分析方法

質問:

foreachサイクルを使用して属性を含むXMLファイルを解析する場合、属性が複数回表示されます。コードを変更して1つの属性のみを表示する方法は?

解決策:

TreeViewコントロールに1つの属性のみを表示するだけです:

説明:

<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>
更新されたコードは、サブノードサイクルの外側に属性ループを移動します。これにより、親ノードの下に複数のサブノードがある場合でも、属性が1回しか表示されないことが保証されます。 改良されたコードは、文字列変数を使用してすべての属性を蓄積し、繰り返し追加しないように

に追加します。

以上がXMLをC#TreeViewに解析するときに、属性表示の重複を避ける方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。