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