TreeView에서 XML 파일 속성을 효율적으로 표시(단일 인스턴스)
XML 데이터를 재귀적으로 구문 분석하고 이를 TreeView 내에 표시하는 것은 빈번한 프로그래밍 작업입니다. 핵심 과제는 노드의 하위 개수에 관계없이 XML 노드 특성이 한 번만 표시되도록 하는 것입니다. 제공된 코드는 초기에 중첩 루프로 인해 중복 속성 표시 문제가 발생했습니다.
개선된 솔루션은 속성 처리 루프를 전략적으로 재배치하여 이 문제를 해결합니다. 하위 노드를 재귀적으로 처리하기 전에 속성을 처리함으로써 각 속성의 모양이 노드당 한 번만 보장됩니다.
세련된 코드는 다음과 같습니다.
<code class="language-csharp">private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode) { // Display attributes only once per node if (inXmlNode.Attributes != null && inXmlNode.Attributes.Count > 0) { foreach (XmlAttribute att in inXmlNode.Attributes) { inTreeNode.Text += $" {att.Name}: {att.Value}"; // More concise string formatting } } // Recursive processing of child nodes if (inXmlNode.HasChildNodes) { foreach (XmlNode xNode in inXmlNode.ChildNodes) // More efficient foreach loop { TreeNode tNode = inTreeNode.Nodes.Add(new TreeNode(xNode.Name)); AddNode(xNode, tNode); } } else { inTreeNode.Text = inXmlNode.OuterXml.Trim(); // Handle leaf nodes } treeView1.ExpandAll(); }</code>
이 수정된 코드는 보다 효율적인 foreach
루프와 보다 명확한 문자열 형식을 활용합니다. 주요 개선 사항은 속성 처리를 배치하여 TreeView의 각 노드에 대한 속성이 정확하게 단일하게 표시되도록 하는 것입니다.
위 내용은 TreeView에 XML 파일 속성을 재귀 적으로 표시하는 방법은 한 번만?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!