Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Xml To TreeView

376
24 января 2011 года
Absolut
220 / / 22.11.2002
Пробую выводить содержимое xml-файла в TreeView. На данный момент код такой:

Код:
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();

В итоге получаю коренной элемент "Start", а под ним уже сам Xml-файл.
Не могу понять, как по-простому избежать создания элемента в дереве, которое происходит при вызове "treeViewConfig.Nodes.Add("Start")", чтобы в TreeView было только представление xml и ничего лишнего.
Можно ли как-то начинать плясать от пустого TreeView, а не от первого его элемента?
Может есть правильный способ загрузки xml в TreeView ?
376
25 января 2011 года
Absolut
220 / / 22.11.2002
Малость изменил :
Код:
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();

Вот что значит вернулся с отпуска :) Голова пустая
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог