Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2018, 11:41   #1
FrFoxeD
Новичок
Джуниор
 
Регистрация: 07.06.2018
Сообщений: 1
По умолчанию Как связать TreeView и XmlDocument?

Здравствуйте, как видно из заголовка нужно связать ноды(элементы) для экземпляра документа xml типа XmlDocument и TreeView соответственно.

Отображение элементов делал по статье - https://codeby.net/c-rabota-s-elemen...niya-treeview/
Но из-за проблем с отображением кода на странице вот и страница с отображение элементов и их содержимого из MSDN https://support.microsoft.com/ru-ru/...al-c-2005-or-i

Там все работает, элементы отображаются. Интересует меня последующая робота с ними, т.е. нужно как то связать, что бы выбранный элемент в TreeView(TW) соответствовал тому же в XmlDocument.

Автор статьи(первая ссылка выше) привел пример

Код:
private void treeView1_NodeMouseClick(object sender, 
TreeNodeMouseClickEventArgs e)
{
//находим узел по имени
XmlNodeList nodes = xmlDoc.GetElementsByTagName(e.Node.Text);
txtboxAtrName.Text = "";
txtboxAtrValue.Text = "";
if (nodes.Count > 0)
{
XmlAttributeCollection atrCol;
atrCol = nodes[e.Node.Index].Attributes;
if (atrCol.Count > 0)
{
//получаем все атрибуты
foreach (XmlAttribute atr in atrCol)
{
txtboxAtrName.Text = atr.Name;
txtboxAtrValue.Text = atr.Value;
}
}
}
}
При клике на элемент в TW идет отработка выше приведенного события где мы получаем кликнутый нами элемент(e.Node) дальше мы получаем по имени кликнутого элемента список всех элементов с таким же именем
Код:
XmlNodeList nodes = xmlDoc.GetElementsByTagName(e.Node.Text);
Потом обращаемся к нему по индексу нашего элемента в TW хотя элементы могут и не совпадать.
Например:
Код:
<?xml version="1.0" encoding="utf-8" ?>
<cars>
<models id = "rusAuto">
<car id="1"> VAZ </car>
<car id="2"> UAZ </car>
<car id="3"> neUAZ </car>
</models>
</cars>
Тут все будет работать так как индексы совпадают.

А тут нет :
Код:
<?xml version="1.0" encoding="utf-8" ?>
<cars>
<models id = "rusAuto">
<test id="0">test</test>
<car id="1"> VAZ </car>
<car id="2"> UAZ </car>
</models>
</cars>
Так как из-за элемента "test" индексы сдвинутся.

Есть ли идеи как можно связать элементы TW и xmlDocument для дальнейших действий?

Вопросы приветствуются.
FrFoxeD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать treeview с базой данных Zomboid БД в Delphi 6 20.03.2017 17:49
Как связать дерево TreeView с таблицей StringGrid Serebah Общие вопросы Delphi 5 22.12.2010 17:50
Связать TreeView с текстовыми файлами Marsel737 Общие вопросы Delphi 2 10.10.2010 11:30
обьясните как связать TreeView и WebBrowser Above_men Помощь студентам 5 30.04.2010 14:41
Связать TreeView с Panel Tagroth Компоненты Delphi 6 10.04.2009 23:46