Maison >développement back-end >C++ >Comment éviter l'affichage d'attribut en double lors de l'analyse du XML dans un C # TreeView?

Comment éviter l'affichage d'attribut en double lors de l'analyse du XML dans un C # TreeView?

Barbara Streisand
Barbara Streisandoriginal
2025-01-27 11:51:09256parcourir

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

Comment analyser un fichier XML contenant des attributs dans un contrôle TreeView en C#

Question :

Lors de l'utilisation d'une boucle foreach pour analyser un fichier XML contenant des attributs, les attributs sont affichés plusieurs fois. Comment puis-je modifier le code pour afficher la propriété une seule fois ?

Solution :

Pour afficher une propriété une seule fois dans un champ 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>

Instructions :

Le code mis à jour déplace la boucle d'attribut en dehors de la boucle du nœud enfant. Cela garantit que l'attribut n'est affiché qu'une seule fois, même s'il existe plusieurs nœuds enfants sous le nœud parent. Le code amélioré utilise la variable chaîne attributes pour accumuler tous les attributs, puis les ajoute à inTreeNode.Text en même temps, évitant ainsi les ajouts répétés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn