解析されたxmlドキュメントから取得した情報からツリービュー構造を表示します。それは "ItemName"だけを表示しなければならず、ノードの "レベル"に応じて、レベル1は親、レベル2は子、レベル3は子の子(リーフ)となります。メインノードとサブノードを使用してC#でツリービュー構造を作成する
サブノードを追加するときにエラーが表示されます。または、XMLノードを反復処理するときに最後のノードとサブノードのみが保存されます。
これは、これはWindows上で表示する必要があり、注意してください私は、これまで
をやったものです。ここstructureview
private void TreeNodeStrcutureManually(XmlDocument structure)
{
treeView1.Nodes.Clear();
XmlElement root = structure.DocumentElement;
XmlNodeList itemName = root.GetElementsByTagName("ItemName");
XmlNodeList level = root.GetElementsByTagName("Level");
string parent = "";
string childNode1 = "";
string childNode2 = "";
{
for (int i = 0; i < itemName.Count; i++)
{
TreeNode tNode;
if (level.Item(i).InnerText == "1")
{
parent = itemName.Item(i).InnerText;
tNode = treeView1.Nodes.Add(parent);
}
if (level.Item(i).InnerText == "2")
{
childNode1 = itemName.Item(i).InnerText;
tNode.Nodes.Add(childNode1);
}
if (level.Item(1).InnerText == "3")
{
childNode2 = itemName.Item(i).InnerText;
tNode.Nodes.Add(childNode2);
}
}
}
を形成XMLが返されるかの例です:
<HR>
<ItemName> Addidas</ItemName>
<level> 1 </level>
</HR>
<HR>
<ItemName> Shoe </ItemName>
<level> 2 </level>
</HR>
<HR>
<ItemName> Tshirt </ItemName>
<level> 2 </level>
</HR>
<HR>
<ItemName> shoelace </ItemName>
<level> 2 </level>
</HR>
<HR>
<ItemName> Running </ItemName>
<level> 3 </level>
</HR>
<HR>
<ItemName> Nike </ItemName>
<level> 1 </level>
</HR>
例外はありますか? – jonathana
tNode.Nodes.Add(childNode1)は、その行に「ローカル変数tNodeの未使用の使用」を返します。 – Desolation
OK ... tNodeはインスタンスを持たなければなりません:TreeNode tNode = new TreeNode(); – jonathana