
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.01.2018, 15:01
|
|||
|---|---|---|---|
Распарсивание XML |
|||
|
#18+
Коллеги, помогите, есть туча файлов xml, более 1000 файлов! со структурой типа: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Есть структура этого безобразия по адресу https://www.nalog.ru/opendata/7707329152-rsmp/structure-08012016.xsd Задача загрузить сие в базу данных, как можно быстрее и без тормозов, чем лучше воспользоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 15:25
|
|||
|---|---|---|---|
|
|||
Распарсивание XML |
|||
|
#18+
даже версию Delphi не огласил.. ну ок воспользуйся TXMLDocument ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 15:29
|
|||
|---|---|---|---|
Распарсивание XML |
|||
|
#18+
Tactical Nuclear Penguin, сори Delphi 2010. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 15:32
|
|||
|---|---|---|---|
|
|||
Распарсивание XML |
|||
|
#18+
Вы хотите, чтобы кто-то за вас и структуру базы создал по заданной в xsd схеме? Не знаю таких инструментов, хотя теоретически могли бы и быть, буду рад, если кто укажет. Но боюсь, структуру вам придется писать самому. Оно и надежнее. Обращаю только ваше внимание на атрибуты minOccurs="0" maxOccurs="unbounded", они очень важны для структуры, определяют, надо ли вводить отношения "один ко многим", или достаточно "один к одному". Если структура создана, берете любой парсер, например MSXML или OmniXML, парсите и раскладываете по полочкам в базу. Эти два удобны, потому что поддерживают XPath, код будет много проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 15:47
|
|||
|---|---|---|---|
Распарсивание XML |
|||
|
#18+
shalamyanskyВы хотите, чтобы кто-то за вас и структуру базы создал по заданной в xsd схеме? Не знаю таких инструментов, хотя теоретически могли бы и быть, буду рад, если кто укажет. Но боюсь, структуру вам придется писать самому. Оно и надежнее. Обращаю только ваше внимание на атрибуты minOccurs="0" maxOccurs="unbounded", они очень важны для структуры, определяют, надо ли вводить отношения "один ко многим", или достаточно "один к одному". Если структура создана, берете любой парсер, например MSXML или OmniXML, парсите и раскладываете по полочкам в базу. Эти два удобны, потому что поддерживают XPath, код будет много проще. Да нет структуру мне не нужно, ИМХО, а вот за инстументы поддерживающие Xpath спасибо! Кстати, а где Вы увидели атрибуты minOccurs="0" maxOccurs="unbounded", что-то не видел? Приведите выдержку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 15:56
|
|||
|---|---|---|---|
|
|||
Распарсивание XML |
|||
|
#18+
В xsd, на который вы дали ссылку. Например <xs:element name="СвПрод" minOccurs="0" maxOccurs="unbounded"> означает, что элемент СвПрод в родительском элементе (у меня глаз не хватает посмотреть, кто там родитель) может встречаться неограниченное число раз, и может вообще ни разу. Для нас важно, что более одного раза. Это означает, что структура базы данных должна поддержать соотношение родитель-СвПрод "один ко многим". Что дает как минимум дополнительную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.01.2018, 16:05
|
|||
|---|---|---|---|
|
|||
Распарсивание XML |
|||
|
#18+
Это также означает, что при парсинге этого узла вы должны будете пользоваться функцией SelectNodes, а не SelectSingleMode. Причем в конкретных, взятых вами для примера XML-файлах, вхождение может быть и единичным, но на это ориентироваться нельзя, только на схему. Если, конечно, вы хотите правильно и без потерь провести импорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2041353]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 456ms |

| 0 / 0 |
