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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 11:52   #1
NieL
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 116
По умолчанию проверять наличие атрибутов в xml-файле

Возникла необходимость проверять наличие атрибутов в xml-файле для определенных нодов. Хранить информацию об атрибутах, по каждому из необходимых мне нодов, пока думаю так:

TStrings.AddObject(<имя нода>, <список атрибутов (TStrings)>)

Алгоритм будет выглядеть примерно так:


Код:
// ...
for I := 0 to ChildNodes.Count - 1 do
begin
 if list_nodes_for_chk.IndexOf(ChildNodes[I].NodeName) <> -1 then
   // это нод для которого необходимо проверить наличие атрибутов
 begin
   Attrs := TStrings(list_nodes_for_chk.Objects[I]) // извлекаем список атрибутов
   // Проверка наличия атрибутов
 end;
end;
// ...
Ориентировочно необходимо будет проверять 3-5 нодов, для кажлого из которых 5-7 атрибутов. Городить десяток списков неправильно на мой взгляд. Что посоветуете?
NieL вне форума Ответить с цитированием
Старый 24.11.2010, 13:44   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как вариант: создать эталонный xml-файл с необходимым перечнем узлов и их атрибутов. В программе использовать его вместо TStringList. Привлекает тем, что не нужна перекомпиляция при изменении контролируемых объектов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2010, 13:48   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как вариант: создать эталонный XML-файл и в программе использовать его вместо TStringList (а не TStrings). Привлекателен тем, что можно изменять информацию в эталоне без необходимости перекомпиляции

продублировал нечаянно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2010, 19:31   #4
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Цитата:
Что посоветуете?
Посоветую изучить TXmlDocument (это из модуля XmlDoc) и использовать его для описанных целей, т.к. он и создан для работы с XML.
maxionans вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверять работу Excel из Outlook kolebatel Microsoft Office Excel 6 28.05.2009 11:50
генерация id в xml файле kate158 Помощь студентам 2 07.08.2008 09:31
Как проверять, запущена ли определенная программа? Bill Gates Общие вопросы Delphi 1 04.01.2008 17:29