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