|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.04.2012, 19:30 | #1 |
Регистрация: 08.01.2010
Сообщений: 5
|
Построение TreeView из XML
Здравствуйте! Уважаемые, подскажите пожалуйста как из такого XML-файла построить дерево в TreeView с помощью стандартных средств Делфи.
Код:
Спасибо за внимание. |
07.04.2012, 11:28 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Гуглим, товарищ.
http://www.webdelphi.ru/2010/02/poka...vide-treeview/ |
09.04.2012, 08:53 | #3 |
Регистрация: 08.01.2010
Сообщений: 5
|
Спасибо. Там дерево строится по значениям и есть функция отображения атрибутов. Но там не описывается как строить дерево по атрибутам. Дело в том что в моем xml файле нет значений вообще...
|
09.04.2012, 09:40 | #4 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Атрибуты вычленяются когда NodeType = ntAttribute
или вот ещё здесь смотрим http://docwiki.embarcadero.com/VCL/X...AttributeNodes (которая есть, пожалуй, неизменная версия оной же страницы из справки дельфи7 или даже ещё раньше :D) Думаю если приложите старания то доведёте до нужной кондиции тот или подобный пример. А вообще я когда первый ответ постил - я посмотрел разные готовые варианты в сети и опробовал их на своём одном проекте с XML - какие-то были более продуктивные, какие-то менее, но ни одного не было в виде "blackbox" т.е. готового инструмента (класса, например). Я там один скаченный покромсал для большей универсальности, кое-где подшаманил, чтобы у себя в проекте норм запустилось. Но вот чтобы работало со всеми типами нод - это надо сильно расширять, т.е. чтобы добавить помимо самого узла и его значения ещё и атрибуты - надо поработать. Как я это вижу - имеем ноду (для показа в древовиде) - имя её = имени в хмлноде, в ней 3 субзначения: 1е валью, 2 - набор атрибутов (который раскрывается и выглядит в виде пар ключ=значение) и 3 - подноды данной ноды. Придётся намутить некислую рекурсию и наверное на конечном автомате ещё для обхода всего этого добра. Плюс так-то типов нод ещё больше (всякие #document #comment и т.п.) если ещё их поддержку делать... |
10.04.2012, 17:06 | #5 |
Регистрация: 08.01.2010
Сообщений: 5
|
Нашел вроде простой алгоритм, в котором строится дерево по атрибутам с помощью XMLDOM. НО, при запуске выкидывает Access violation с указанием на строку присвоения iNode. Хотя и iNode и firstChild одного типа. Подскажите в чем может быть проблема.
Код:
Последний раз редактировалось maximumtf2; 10.04.2012 в 17:34. |
10.04.2012, 23:15 | #6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
После doc.loadXML('C:\file.xml');
Поставьте doc.active := true; Если не поможет, киньте проект с тестовым хмл - погоняю. |
10.04.2012, 23:18 | #7 |
Регистрация: 08.01.2010
Сообщений: 5
|
там нету такого свойства. Нашел выход: заменить doc.loadXML на doc.load
Хотя я так и не понял в чем разница phomm, спасибо за внимание Последний раз редактировалось maximumtf2; 10.04.2012 в 23:28. |
10.04.2012, 23:32 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
помему LoadXML это метод загрузки из строки(то есть сам XML уже в строковой переменной)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
11.04.2012, 00:30 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вот рабочий пример
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TreeView сохранить в xml использую linq | iukash | C# (си шарп) | 3 | 24.07.2011 16:45 |
построение XML сложной структуры с помощью nativeXML | adben | Общие вопросы Delphi | 2 | 29.07.2010 07:06 |
Проблема при загрузке файла XML в TreeView | artemavd | Общие вопросы Delphi | 1 | 20.06.2010 15:39 |
Добавление узлов в XML в Delphi, исользуя Treeview | Анастасия999 | Помощь студентам | 0 | 08.05.2010 10:05 |
вывод xml данных из TreeView в webbrowser | Dr.XxX | Общие вопросы Delphi | 1 | 10.10.2008 12:06 |