powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / загрузка xml в таблицы
5 сообщений из 5, страница 1 из 1
загрузка xml в таблицы
    #33478660
dasbot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте.
Не подскажите есть ли возможность загрузить данные из XML файла такой структуры:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<DATA>
<TABLE>
  <table_name>first_table</table_name>
  <operation>insert</operation>
  <table_data>
    <ID> 12 </ID>
    <NAME>aaaaaa</NAME>
    <LASTNAME>bbbbb</LASTNAME>
 </table_data>
</TABLE>
<TABLE>
  <table_name>next_table</table_name>
  <operation>update</operation>
  <key>ID</key>
  <table_data>
    <ID> 12 </ID>
    <IMAGE_SIZE> 123 </IMAGE_SIZE>
    <IMAGE_NAME>bbbbb</IMAGE_NAME>
  </table_data>
</TABLE>
</DATA>
то есть структура XML внутри тега <table_data> полностью совпадает со структурой таблицы в базе данных

меня интересует сама возможность загрузки XML, насколько это трудоемко?
и если можно то вкратце какими процедурами, функциями, пакетами надо пользоваться.
заранее спасибо
...
Рейтинг: 0 / 0
загрузка xml в таблицы
    #33478772
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLTOCURSOR("C:\TEST.XML" , "XMLCUR" , 512)
С уважением, Алексей
...
Рейтинг: 0 / 0
загрузка xml в таблицы
    #33479250
dasbot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-KXMLTOCURSOR("C:\TEST.XML" , "XMLCUR" , 512)
С уважением, Алексей
Можно чуть-чуть по подробнее:
пусть есть xml
Код: plaintext
1.
2.
3.
4.
5.
    <TABLE>
     <ID> 12 </ID>
     <IMAGE_SIZE> 123 </IMAGE_SIZE>
     <IMAGE_NAME>bbbbb</IMAGE_NAME>
    </TABLE>
   
как загрузить его в таблицу TABLE(ID,IMAGE_SIZE,IMAGE_NAME)?
...
Рейтинг: 0 / 0
загрузка xml в таблицы
    #33480430
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dasbotМожно чуть-чуть по подробнее:
пусть есть xml
Код: plaintext
1.
2.
3.
4.
5.
    <TABLE>
     <ID> 12 </ID>
     <IMAGE_SIZE> 123 </IMAGE_SIZE>
     <IMAGE_NAME>bbbbb</IMAGE_NAME>
    </TABLE>
   
как загрузить его в таблицу TABLE(ID,IMAGE_SIZE,IMAGE_NAME)?
Это не XML - почитай хэлп по структуре, т.е. XML тогда уж будет примерно таким:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<DATA>
    <TABLE>
     <ID> 12 </ID>
     <IMAGE_SIZE> 123 </IMAGE_SIZE>
     <IMAGE_NAME>bbbbb</IMAGE_NAME>
    </TABLE>
</DATA>
И тогда - просто то, что и рекомендовал Aleksey-K и дает нужный результат.

А кстати по самому первому вопросу. Там выгрузке через эту команду похоже просто мешают тэги <table_data> и </table_data>, можно удалить их все, скажем, добавив этот файл как текст во временную таблицу с полем длиной c(255), а потом сделав DELETE FOR... и затем снова выгрузив как текст в файл XML (или любым другим способом), после чего через XMLTOCURSOR получить нужный курсор и просто скопировать нужные поля в свою таблицу путем COPY TO...
...
Рейтинг: 0 / 0
загрузка xml в таблицы
    #33483104
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi dasbot!

1) Версию фокса надо указывать.
2) Похоже что этот XML не является файлом с ДАННЫМИ - больше он похож на
набор инструкций - что сделать в first_table, что сделать в next_table...
Соответственно загрузка его в таблицу может в лучшем случае быть первым
этапом процедуры обаботки - потом придётся "ходить" по этой таблице и каждую
её строку дополнительно "исполнять" - в зависимости от типа операции.
3) Поиском можно найти массу примеров как по разбору сложных XML-ей (этот
XML являеться сложным - в нём есть "вложенные" сущности) с помощью
XMLAdapter, так и по обработке XML средствами XML-парсера в частности как
"выбирать" части XML файла - например выделить сначала то что относится к
<table_name>first_table</table_name> - потом внутри этого отделить
<operation>insert</operation> от <operation>update</operation> и т.п. А уж
каждую подобную "выборку" можно загрузить в отдельный курсор и этими данными
"обновить" реальные таблицы - т.е. те что insert добавить (например по
команде INSERT INTO RealTable (поля) SELECT поля FROM
tmpCursorWithInsertedData или через более древний APPEND FROM
DBF("tmpCursorWithInsertedData")), те что UPDATE - использовать для
обновления имеющихся записей и т.д.
P.S. искать тут и в форуме на foxclub.ru по словам XML, XMLAdapter,
MSXML.DomDocument

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / загрузка xml в таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]