首頁 >後端開發 >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 文件時,屬性會顯示多次。如何修改代碼以僅顯示一次屬性?

解決方案:

要在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn