Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

загрузка XML в DataSet


Страницы:   1 2

незнайка2003 ©   (2003-11-05 08:06:00) 

Подскажите, какой существует оптимальный подход в данном вопросе


Незнайка2003   (2003-11-05 13:48:00) [21]


> bushmen © (05.11.03 13:32) [8]

Понял, извинения приняты :)
В принципе получается, что задача стандартная, возникает у многих. И вариантов решения пока только 2:
1. Парсить самостоятельно. Это не удобно, для каждого из наборов данных придется писать самостоятельную процедуру разбора. Да и долго это, а если нужно то только 1 раз закачать.
2. Использование TClientDataSet. Это мощный инструмент, большинство возможностей которого не используется. Вот и встает вопрос: неужели придется таскать все dll (знаю что их несколько) на пользовательские машины для того чтобы загружать XML?
Получается, что стандартная задача не имеет стандартного решения.


bushmen   (2003-11-05 13:32:00) [22]

>Незнайка2003

Это была реплика на [4] И всё, а так 10 ответов было и все на тему рассуждений (что здесь часто и бывает.)
Извини, если ты решил, что это относится к тебе


Незнайка2003   (2003-11-05 13:30:00) [23]

Мне уроки по программированию не нужны, я хочу узнать, делал ли кто-нибудь данное действие и каким образом. Зачем на одни и те же грабли наступать?
> bushmen © (05.11.03 13:27) [6]

А если нечего сказать, я считаю лучше промолчать


bushmen   (2003-11-05 13:27:00) [24]

Если тебе нужны уроки по программированию, то иди на курсы. А здесь люди не обязаны лекции читать. А слово "помощь" не означает, что сделают все для тебя.


Незнайка2003   (2003-11-05 13:26:00) [25]

Спасибо.
Хотелось бы еще варианты услышать.
На www.torry.net есть соответсвующий импорт, но эти компоненты платные.


Max_   (2003-11-05 12:17:00) [26]

Да я вчера спрашивал тоже только ничего не валит!
Файл трансформации создай через XML Mapper (утилита в Дельфе такая). Потом создай Data Packet,который и будет сидеть у тебя в СlientDataSet"e:

procedure TForm1.Button1Click(Sender: TObject);
const trans="c:\settings.xtr";
begin
XMLTransform1.SourceXmlFile:="c:\settings.xml";
XMLTransform1.TransformationFile:=trans;
ClientDataSet1.Close;
ClientDataSet1.XMLData:=XMLTransform1.Data;
ClientDataSet1.Open;
end;

этот код создаёт Data Packet из XML фаила!
Проблема в том как потом всё загруженное сохранить в таблице?
Такая штука не работает:
XMLTransformClient1.ApplyUpdates("c:\settings.xml","c:\settings.xtr",-1);
Она постоянно выкидывает ошибку: Parser Error at the top of docoment Line 1 Position 1.
Чего я только не делал и XML фаил исправлял и схемы разные перепробывал- не пашет! Здесь мне подсказали, что надо Файл трансформации как Insert Delta сохранять! И всё, а так 10 ответов было и все на тему рассуждений (что здесь часто и бывает.)


Незнайка2003   (2003-11-05 12:16:00) [27]

UP


Незнайка2003   (2003-11-05 11:10:00) [28]

Меня интересует как раз вариант 1.
Файл XML формируется из другой программы, выгрузка определенной таблицы. Мне нужно взять этот файл и закачать в свой набор данных. Как это проще и/или правильнее сделать?
При использовании ClientDataSet нужен файл трансформации, как его создать? Есть ли альтернатива ClientDataSet, в смысле другой DataSet, который бы загружал XML?


Mike_Goblin   (2003-11-05 08:50:00) [29]

XML бывает разный (в смысле что структура документа XML может быть практически произвольной)
Оптимальный подход в данном вопросе:
1. Посмотреть не реализовал ли кто раньше задачу (Например ClientDataSet умеет сохранять и загружать свое содержимое в XML.)
2. Если нет, то писать парсинг XML документа. (Разобрать содержимое документа). Биться головой в стену не надо есть готовые парсеры (MS XML), Вам остается использовать их для анализа содержимого XML.
PS Телепатические способности почти полностью растратил вчера, неплохо бы ставить вопросы более конкретно :)))


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо