Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.09.2011, 03:27
manco manco вне форума
Прохожий
 
Регистрация: 01.09.2011
Сообщения: 4
Репутация: 10
По умолчанию Экспорт из XML в Access

Доброго времени суток!!
Уважаемые форумчане помогите, пожалуйста с моей проблемой:

Мне поступают XML-файлы для загрузки в основную БД. Количество строк в файлах может быть от одной до нескольких десятков тысяч.
Файлы содержат логические, текстовые и цифровые данные.
Также в данных могут быть ошибки и для их исправления приходится вручную колупать основную БД. Это очень тяжело и трудоемко.

Я хочу сделать утилиту для проверки данных в файлах. Для этого загрузить данные во временную БД (например Access), проверить и очистить БД. Изменять и переписывать в XML-файлах ничего не нужно. Структуру файлов тоже изменить не могу. Саму БД сделаю заранее и поля в ней будут соответствовать тегам XML-файла.

Подскажите с помощью каких инструментов в Delphi и какими методами сделать загрузку данных из XML-файлов!

В интернете роюсь уже несколько дней и ничего подходящего не нашел. Я не профессиональный программист и в Delphi не очень силен. Пытаюсь разораться самостоятельно, потому опишите подсказки по подробней или дайте рабочий текст кода (если это не тяжело). Помогите, пожалуйста, очень нужно!!!
У меня стоит Win XP SP2 и Delphi 7. Урезанный пример XML-файла прикрепил к теме.

Огромное спасибо за помощь.
Вложения
Тип файла: rar test.rar (517 байт, 14 просмотров)
Ответить с цитированием
  #2  
Старый 02.09.2011, 07:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,018
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну если просто перечислить, то:
1. ADOQuery (и с ним другие ADO компоненты) - работы с БД
2. TXMLDocument - чтение xml
3. Прямые руки - написание связующего кода
4. Книжка по проектированию БД (не обязательно, но полезно будет, т.к. у тебя там как минимум 2 таблицы получаются. Или заголовок не нужен, а только сами табличные данные?)
Ответить с цитированием
  #3  
Старый 02.09.2011, 08:22
manco manco вне форума
Прохожий
 
Регистрация: 01.09.2011
Сообщения: 4
Репутация: 10
По умолчанию

С ADO сталкивался (должен разобраться).

А вот о TXMLDocument - чтение xml можно по подробней рассказать.
Я уже натыкался на него в инете, но как его использовать не разберу и описания не нашел. Дайте, плиз, ссылки на книги-статьи где все это можно прочитать подробно.

С написанием кода как раз и есть проблемы.

В принципе нужны только данные. Или вставлять для каждой записи в таблице данные из заголовка (так получается если открываю файл в Excel).

Спасибо!
Ответить с цитированием
  #4  
Старый 02.09.2011, 09:00
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

проще говоря тебе нужно все <ROW></ROW> в таблицу бд загнать?
добавлено позже:
кста, твой test.xml "корявенький". его ни браузер, ни TXMLDocument не открывает - нужно будет "предварительно руками" исправлять ошибки.
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 02.09.2011 в 09:24.
Ответить с цитированием
  #5  
Старый 02.09.2011, 09:01
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Можно поступить попроще. Открыть ваш xml файл в экселе. При этом вы получите результат в табличном виде, а уже таблицу то вы сможете в акцес принять.
ПС: Хотя нет, эксель ваш файл не сможет открыть правильно. Видимо действительно TXMLDocument использовать надо.
ПСС: Мда блин. В общем получается такая хрень, как я понял документ ваш подготовлен с учетом формата XML который появляется в Net Framework 4.0. Думал в семерке будет без проблем его открыть, тоже не вышло. TXMLDocument тоже не удалось натравить на ваш файл видимо по той-же причине. Не установлен Net Framework 4.0
Можно конечно и ручками все распарсить, но как-то стремно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 02.09.2011 в 10:12.
Ответить с цитированием
  #6  
Старый 02.09.2011, 13:59
manco manco вне форума
Прохожий
 
Регистрация: 01.09.2011
Сообщения: 4
Репутация: 10
По умолчанию

Да все верно: мне нужно все <ROW></ROW> в таблицу БД загрузить.

А файл кривой наверно я сделал, когда урезал данные в нем. Прикрепил новый. В Excel-е открывается так как нужно.

Страдалецъ
Открывать через Excel я думал, но возможно ли это сделать программно в утилите? Или опять таки вручную открывать сохранять и загружать в Акцес.
Я сейчас и так проверяю их в Excel-е вручную. Глаза рвать целый день - утомительно. Хочу все сделать автоматом: по нажатии кнопки провести проверку и если есть ошибки вернуть файл со списком ошибок для исправления.
Вложения
Тип файла: rar test.rar (596 байт, 22 просмотров)
Ответить с цитированием
  #7  
Старый 02.09.2011, 14:26
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А где описатель схемы E04T06D.xsd к этому файлу?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:19.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter