Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Windows Forms
Регистрация

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

Ответ
 
Опции темы
Старый 07.06.2018, 12:41   #1
FrFoxeD
Новичок
 
Регистрация: 07.06.2018
Сообщений: 1
Репутация: 10
По умолчанию Как связать 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать treeview с базой данных Zomboid БД в Delphi 6 20.03.2017 18:49
Как связать дерево TreeView с таблицей StringGrid Serebah Общие вопросы Delphi 5 22.12.2010 18: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


07:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru