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

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

Перевод xml в БД [D6, dBase, FoxPro]


Страницы:   1 2

Evyshka ©   (2004-03-11 16:43:00) 

Необходимо добавлять в БД данные из xml файлов
Как это сделать если честно, даже не знаю с чего начать и возможно ли это в delphi6?


Romkin   (2004-03-12 16:34:00) [1]

Да. У тебя будет cds, в которой будет TDatasetField, ставишь вторую cds и назначаешь у нее проперти datasetfield, будет мастер-деталь


Evyshka   (2004-03-12 15:49:00) [2]

Я открываю  файл в маппере он показывает вложенные секции , как быть с ними?? Выгружать в отдельные таблицы???


Evyshka   (2004-03-12 15:49:00) [3]

Я открываю  файл в маппере он показывает вложенные секции , как быть с ними?? Выгружать в отдельные таблицы???


Romkin   (2004-03-12 10:09:00) [4]

just me  (11.03.04 18:59) [16] Если он может поменять формат xml, то и xtr подправить сможет. Это ведь тоже xml :))
Vlad ©  (11.03.04 18:33) [15] Весьма рекомендую, очень приятная штука. А вот msxml - громоздкий он, понадобится - узнаем. Его использовать, кстати, необязательно в такой задаче, можно просто грубо работать с xml как с текстовым файлом. Дешево и сердито :))
Evyshka  (12.03.04 08:58) [18] Должно пройти, просто отсутствующие поля не заполнятся. Определи, что тебе надо один раз, и используй.


Evyshka   (2004-03-12 08:58:00) [5]

Вообще а если через маппер работать каждый файл открывать в нем???
Ведь структура определена, но с каждым разом меняет то есть не обязательно что запись придет полной структуры а вполне возможно урезанная


Deniz   (2004-03-12 07:25:00) [6]

Что-то я не понимаю или пропустил :-(
TClientDataSet.LoadFromFile('c:\FyFile.xml') уже не работает или ...?


just me   (2004-03-11 18:59:00) [7]

И что - пользователь или администратор системы сможет сам transformation scheme поменять? Без пользования IDE Delphi?


Vlad   (2004-03-11 18:33:00) [8]

Да, это удобно, бесспорно. Надо будет на досуге D6 поставить и изучить это дело.
Но все-же, думаю для начала человеку было бы не плохо узнать msxml изнутри, как COM-объект, а потом уже двигаться дальше. Но это чисто моё ИМХО. :-)


Romkin   (2004-03-11 18:28:00) [9]

Поменялось что-то - поменяй transformation scheme. И все, в текст программы лезть не надо. Как раз для случая "когда все меняется"


just me   (2004-03-11 18:20:00) [10]

> Жуть... Все ручками! Ужас. Используйте TClientDataset
Все это замечательно, если в задаче используются статически определенные на этапе проектирования структуры данных. Это даже широко используется в .NET - typed datasets. Но, увы, в очень многих задачах структуры меняются во время жизни системы всякого рода метаописаниями и прочей жутью. Так что приходится ручками...


Romkin   (2004-03-11 18:09:00) [11]

Терпеть не могу ручками делать. Первый раз разобраться с меппером - часа два. Потом влет идет.


Vlad   (2004-03-11 18:07:00) [12]


> Romkin ©   (11.03.04 18:03) [10]

Круто. Это все в D6 наверное появилось ?
Только вот вопрос, все эти "приседания" не займут ли больше времени чем просто программно распарсить xml файл, ведь это по сути достаточно тривиальная задача.


Romkin   (2004-03-11 18:03:00) [13]

Я и сказал, как быть. Подробнее: Берешь энтот файл, запущаешь XML mapper, открываешь в нем этот файл, с заказом сделать из него пакет данных... Делает. Ты крутишь настройки, чтобы всю инфу взять... Сохраняешь схему (*.xtr), ляпаешь на форму cds, ее присоединяешь к TXMLTransformProvider, в ем указываешь файл и схему. Остается сделать у cds Active := true...


Vlad   (2004-03-11 17:58:00) [14]


> Romkin ©   (11.03.04 17:41) [8]

Да, но CDS в свой XML файл пишет кучу метаданных и такой формат м.б. совсем не удобен для работы. А как быть если мы xml файл получаем откуда-то извне (не мы его формировали), и у нас стоит задача распарсить и сохранить значения в базе ?


Romkin   (2004-03-11 17:41:00) [15]

Жуть... Все ручками! Ужас. Используйте TClientDataset, совместно с  TXMLTransformProvider или просто TXMLTransformClient. Лучше сначала первое освоить - перекинув xml в cds, вставить оттуда записи в БД - уже дело техники.


just me   (2004-03-11 17:09:00) [16]

Можно сделать примерно так:
http://delphi.about.com/library/bluc/text/uc050601a.htm


Vlad   (2004-03-11 17:00:00) [17]


> Evyshka   (11.03.04 16:54) [3]
> то есть напрямую конвертирующего компонента нет?

Возможно где нибудь и есть, я не в курсе.
Если чесно, там писать-то вобщем делать нечего, если знаком с xml. Проще самому сделать чем искать.


Evyshka   (2004-03-11 16:59:00) [18]

через access нельзя надо организовать что то типа приема в БД


sherminator   (2004-03-11 16:55:00) [19]

хех.. а проще импортом закачать всё в аccess и дальше уже через bde подключить..))))


Evyshka   (2004-03-11 16:54:00) [20]

то есть напрямую конвертирующего компонента нет?


Страницы:   1 2

Наверх

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