2012-03-13 5 views
2

Visual Studio 2010でVisual C#を使用すると、XMLドキュメントのノードをツリービューに追加することができました。C#のXMLドキュメントの値を持たないツリービューに埋め込みます

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

は、これまでのところ、これは正常に動作します。しかし、#7の所定のコードは、値を含むすべてのノードを表示する。 <myNode>2</myNode>に達すると値2も表示されます。

どのようにして、値を除いたすべてのノード名だけがツリービューに表示されるように例を変更できますか?あなたの条件のために

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を上に移動することです:行くコードの一部が

答えて

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

おかげで、作品元気?私はちょうどメソッドを再構築せずにあなたのソリューションに固執します:-) –

関連する問題