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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2011, 12:26   #1
T-Rrexx
Новичок
Джуниор
 
Регистрация: 10.07.2011
Сообщений: 1
По умолчанию [SOLVED] TXMLDocument: List index out of bounds.

Здравствуйте, уважаемые форумчане.

Возникла проблема: пытаюсь обработать XML-файл, но вылетает ошибка "List index out of bounds". Никак не могу понять причину, решения проблемы не нашел.
Вот участок XML-файла:
Код HTML:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Hash Droid</string>
    <string name="tab_text">Hash a text</string>
    <string name="tab_file">Hash a file</string>
    <string name="tab_compare">Compare hashes</string>
</resources>
Задача: выдернуть из каждой <string> значение атрибута name и значение самой строки. Т.е. из первой строки: name='app_name', value='Hash Droid'. Надеюсь, понятно объяснил.

Вот код процедуры:
Код:
procedure Parse;
begin
  XML := TXMLDocument.Create(Form1);
  XML.LoadFromFile('I:\strings.xml');
  XML.Active := true;
  Name := XML.DocumentElement.ChildNodes['resources'].ChildNodes.Nodes[i].Attributes['name']; //вот на этой строке и вылетает ошибка
  Value := XML.DocumentElement.ChildNodes['resources'].ChildNodes.Nodes[i].Text;
  Memo1.Lines.Add('I=' + IntToStr(i) + 'Name=' + Name + 'Value=' + Value);
  XML.Active := false;
  XML.Destroy;
end;
Вменяемой документации к TXMLDocument я не нашел, поэтому код построен по аналогии с другими примерами.

Кто что посоветует?

UPD:
Вот блин, я баран слепой!
Решение проблемы: :D
Код:
    Name := XML.DocumentElement.ChildNodes.Nodes[i].Attributes['name'];
    Value := XML.DocumentElement.ChildNodes.Nodes[i].Text;
Вместо аналогичных строк в коде выше.
Извините за беспокойство. Спать иногда надо
Тему можно удалять, вряд ли она кому-то понадобится.

Последний раз редактировалось T-Rrexx; 10.07.2011 в 12:33. Причина: Найдено решение проблемы
T-Rrexx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
List index out of bounds (0) waka2ebawer Работа с сетью в Delphi 2 17.02.2011 06:30
List index of bounds(7) priamm Общие вопросы Delphi 7 14.05.2010 15:00
List index out of bounds (91) KoBRaAndrey Общие вопросы Delphi 6 25.12.2009 15:29
List index out of bounds (44) KoBRaAndrey Общие вопросы Delphi 5 11.12.2009 23:03