2012-03-13 3 views
2

Visual Studio 2010에서 Visual C#을 사용하여 XML 문서의 노드를 트리 뷰에 추가했습니다.C#의 XML 문서에서 트리 뷰 채우기

http://support.microsoft.com/kb/317597/en-us

는 지금까지 잘 작동합니다. 그러나 # 7에서 주어진 코드 조각은 값을 포함한 모든 노드를 표시합니다 (예 : <myNode>2</myNode>에 도달하면 2 값이 표시됩니다.

어떻게 값을 제외한 모든 노드 이름 만 트리보기에 채워지도록 예제를 변경할 수 있습니까?

답변

2

을 주목가는 코드의 조각 :

if (inXmlNode.HasChildNodes) 
{ 
    // child nodes 
    for (...) 
    { 
     xNode = inXmlNode.ChildNodes[i]; 

     if (! xNode.HasChildNodes) // a leaf? 
      continue; // then skip 

     inTreeNode.Nodes.Add(new TreeNode(xNode.Name)); // here the leafs are created 
     tNode = inTreeNode.Nodes[i]; 
     AddNode(xNode, tNode); 
    } 
} 
else 
{ 
    // it's a leaf, should only happen for the root now 
    inTreeNode.Text = ... // here it is set 
}  
+0

감사합니다, 작품 :

if (inXmlNode.HasChildNodes) { // child nodes for (...) { xNode = inXmlNode.ChildNodes[i]; inTreeNode.Nodes.Add(new TreeNode(xNode.Name)); // here the leafs are created tNode = inTreeNode.Nodes[i]; AddNode(xNode, tNode); } } else { // it's a leaf inTreeNode.Text = ... // here it is set } 

를 귀하의 요구를 들어 전체 재귀 적 방법을 구조 조정한다고하지만 간단한 수정까지 HasChildNodes을 이동하는 것입니다 벌금! 난 그냥 방법을 재구성하지 않고 귀하의 솔루션을 고수하고 :-) –