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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 08:49   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Считывание значений из XML

Еще вопрос . Как считать из xml файла все значения определнного поля и занести их в столбец StringGrid-a?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.06.2010, 10:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Загляни на http://www.delphiworld.narod.ru/_all_articles_.html
в раздел XML - [15]
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2010, 10:41   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Мне нужен простенький пример с кодом для считывания необходимой информации из xml в StringGrid в столбец)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.06.2010, 12:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так особо не разбирался но вот:http://xpoint.ru/forums/internet/XML/thread/40293.xhtml
http://yandex.ua/yandsearch?text=TXM...&tld=ua&lr=187
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2010, 12:30   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А как надо объявить TXMLDocument, чтобы при компиляции не ругалась Delphi? И можно ли код из первой ссылки переделать для загрузки значения из xml файла в StringGrid?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.06.2010, 12:52   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

XMLDocument это компонент. У меня он на вкладке Internet.

Вот смотри:
Код:
var e,n:IXMLNode;
begin
 XMLDocument1.LoadFromFile('D:\Ok\Aqua.xml');
 n:=XMLDocument1.DocumentElement.ChildNodes[0];
 if n<>nil then repeat
  e:=n.ChildNodes[1];
  ListBox1.Items.Add(e.NodeValue);
  n:=n.NextSibling;
 until n=nil;
end;
XML типа
Цитата:
<?xml version="1.0" encoding="UTF-8"?>
<DownloadList Version="5"
NextID="24">
<DownloadFile>
<ID>0</ID>
<URL>http://www.mp3real.ru/mp3/aqua/aquarium/01_aqua_happy_boys_girls.mp3</URL>
<FileName>D:\Download\Aqua\1997-Aquarium\01_aqua_happy_boys_girls.m p3.exe</FileName>
<State>2</State>
<Size>7008415</Size>
<SaveDir>D:\Download\Aqua\1997-Aquarium\</SaveDir>
<DownloadedSize>7008415</DownloadedSize>
<Referer>http://www.mp3real.ru/mp3/aqua/aquarium/</Referer>
<ResumeMode>2</ResumeMode>
<Date>06/30/2009 10:19:47</Date>
<DownloadTime>190</DownloadTime>
<NodeID>23</NodeID>
<ContentType>application/octet-stream</ContentType>
<NotRead>1</NotRead>
<stodt>1</stodt>
</DownloadFile>
<DownloadFile>
<ID>1</ID>
<URL>http://www.mp3real.ru/mp3/aqua/aquarium/02_aqua_my_oh_my.mp3</URL>
<FileName>D:\Download\Aqua\1997-Aquarium\02_aqua_my_oh_my.mp3.exe</FileName>
<State>2</State>
<Size>6718753</Size>
<SaveDir>D:\Download\Aqua\1997-Aquarium\</SaveDir>
<DownloadedSize>6718753</DownloadedSize>
<Referer>http://www.mp3real.ru/mp3/aqua/aquarium/</Referer>
<ResumeMode>2</ResumeMode>
<Date>06/30/2009 10:19:48</Date>
<DownloadTime>150</DownloadTime>
<NodeID>23</NodeID>
<ContentType>application/octet-stream</ContentType>
<NotRead>1</NotRead>
<stodt>1</stodt>
</DownloadFile>
...
Получит из него все значения из URL поля
I'm learning to live...

Последний раз редактировалось Stilet; 17.06.2010 в 12:56.
Stilet вне форума Ответить с цитированием
Старый 17.06.2010, 13:29   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Stilet, я думаю, что твой код сработает на примере твоего xml файла . Но у меня то структура файла по-сложнее. Для наглядности что мне нужно, я нарисовал схему. То есть на данный момент нужно чтобы создавалсь таблица StringGrid с такими колонками. Вот как определить какой номер у меня поле Number Contract, а какой номер у поля NumberLS?
Изображения
Тип файла: jpg Безымянный2.jpg (41.1 Кб, 141 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.06.2010, 14:09   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 e:=n.ChildNodes[1];
 e:=n.ChildNodes[1];
Всего-то дважды получишь ребенка
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2010, 15:01   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А Зачем дважды один и тот же код? . Написал так:
Код:
procedure TForm1.BtnClick(Sender: TObject);
var
 e,n: IXMLNode;
begin
 XMLDocument1.LoadFromFile('B0000183.xml');
 n:=XMLDocument1.DocumentElement.ChildNodes[1];
 if n <> nil then repeat
  e:=n.ChildNodes[1];
//  e:=n.ChildNodes[1];
  ListBox1.Items.Add(e.NodeValue);
  n:=n.NextSibling;
  until n=nil;
end;
Получил ошибкой "List index out of bounds(1)" в лоб

Товарищи! Ну подскажите как мне сделать-то??). Я с xml раньше не работал.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось Stilet; 18.06.2010 в 07:54.
artemavd вне форума Ответить с цитированием
Старый 18.06.2010, 07:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Камраде, ану-ка прикрепи-ка сюда-ка свой-ка XML-ка.
Мы его пощупать будем. Ты где-то чего-то просто не учитываешь по запарке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считывание значений переменных в потоках Руслантус Общие вопросы .NET 1 09.09.2010 15:39
Сохранение и загрузка в файл текстовых значений и значений типа Boolean krikaved Общие вопросы Delphi 1 16.03.2010 07:53
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19:18
Считывание с файла на С++ lamak Помощь студентам 8 01.11.2009 22:18
Считывание пароля Terran Общие вопросы Delphi 1 22.03.2008 20:09