XmlReader xmlReader = new XmlTextReader("config.xml");
treeViewConfig.Nodes.Clear();
TreeNode nodes = treeViewConfig.Nodes.Add("Start");
TreeNode curNode = nodes;
nodes.Nodes.Clear();
while ( xmlReader.Read() )
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element: // Начало
{
curNode = curNode.Nodes.Add( xmlReader.Name + xmlReader.ValueType );
break;
}
case XmlNodeType.EndElement: // Конец
{
curNode = curNode.Parent;
break;
}
}
}
treeViewConfig.ExpandAll();
xmlReader.Close();
Xml To TreeView
Код:
В итоге получаю коренной элемент "Start", а под ним уже сам Xml-файл.
Не могу понять, как по-простому избежать создания элемента в дереве, которое происходит при вызове "treeViewConfig.Nodes.Add("Start")", чтобы в TreeView было только представление xml и ничего лишнего.
Можно ли как-то начинать плясать от пустого TreeView, а не от первого его элемента?
Может есть правильный способ загрузки xml в TreeView ?
Код:
XmlReader xmlReader = new XmlTextReader("config.xml");
treeViewConfig.Nodes.Clear();
[highlight]TreeNode curNode = null;[/highlight]
while ( xmlReader.Read() )
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element: // Начало
{
[highlight]if( curNode == null )
{
curNode = treeViewConfig.Nodes.Add( xmlReader.Name );
}[/highlight]
else
{
curNode = curNode.Nodes.Add( xmlReader.Name );
}
break;
}
case XmlNodeType.EndElement: // Конец
{
curNode = curNode.Parent;
break;
}
}
}
treeViewConfig.ExpandAll();
xmlReader.Close();
treeViewConfig.Nodes.Clear();
[highlight]TreeNode curNode = null;[/highlight]
while ( xmlReader.Read() )
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element: // Начало
{
[highlight]if( curNode == null )
{
curNode = treeViewConfig.Nodes.Add( xmlReader.Name );
}[/highlight]
else
{
curNode = curNode.Nodes.Add( xmlReader.Name );
}
break;
}
case XmlNodeType.EndElement: // Конец
{
curNode = curNode.Parent;
break;
}
}
}
treeViewConfig.ExpandAll();
xmlReader.Close();
Вот что значит вернулся с отпуска :) Голова пустая