C10 SQL парсить XML

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

Как используя стандартные средства c10 импортировать из XML в dbf csv Excel ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

C10 SQL парсить XML

Сообщение Игорь Столяров »

1. Загрузить XML в очередь:
viewtopic.php?f=1&t=1726
viewtopic.php?f=1&t=3390
viewtopic.php?f=27&t=4260&start=75

2. Записать очередь в нужный формат:
XLSX: viewtopic.php?f=8&t=3830
DBF и CSV: см. в справке раздел про dBase и ASCII драйвер.

3. Всё. :)
За теми кто отстал - не возвращаться. (С) Кодекс
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

Спасиб ! А если в xml 2000000 записей и более в одном xml -очереди пройдут ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

C10 SQL парсить XML

Сообщение Игорь Столяров »

Пожал !
Не вижу причин, по которым бы это не работало … но ! запись - она разная бывает … :)
Поэтому пока не попробуете - не знаете. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

сделал парсинг в С10 с помощью vewXML - парсит четко - перевел в UTF 8 но русские буквы - кракозяблы - ка это победить ???
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

C10 SQL парсить XML

Сообщение Игорь Столяров »

talgat55 писал(а): 08 Февраль 2020, 15:18 перевел в UTF 8 но русские буквы - кракозяблы
Немного не понятен вопрос.
Дело в том, что парсер Clarion работает только с XML документами в кодировке UTF-8.
Может быть нужно наоборот, после того, как Вы получили данные из XML конвертировать их из UTF-8 в ANSI кодировку ?
За теми кто отстал - не возвращаться. (С) Кодекс
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

КАК ? ПРИВОЖУ пример разбора параметров - перевел fam в ascii - везде кракозяблы
ParseName2 Routine
nnm &= QXML.Node.getAttributes()
if not nnm &= null ! Есть атрибуты
loop AttrIndex = 0 to nnm.getLength() - 1 ! Цикл по атрибутам
Anode &= nnm.item(AttrIndex)
CS.ToascII()
Case (ANode.GetNodename())
OF 'BEGDATA'
Param2Value=ANode.getNodeValue()
! MESSAGE(Param2Value)
Of 'FAM'

Param3Value=ANode.getNodeValue()
MESSAGE(Param3Value)
Of 'IM'
Param4Value=ANode.getNodeValue()
! MESSAGE(Param4Value)
Of 'OT'
Param5Value=ANode.getNodeValue()
! MESSAGE(Param5Value)
Of 'DR'
Param6Value=ANode.getNodeValue()
! MESSAGE(Param6Value)

END
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

Нашел причину - надо
CS.Set(Anode.GetNodeValue())
CS.ToAscii()
Case lower(ANode.GetNodename())
Of 'level' !
ManQ:Level = CS.S
OF 'id'
и тогда все Ок !
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

C10 SQL парсить XML

Сообщение Дед Пахом »

Что означают все эти буквы?
С уважением, ДП
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C10 SQL парсить XML

Сообщение Yufil »

Это фрагмент из моей программы, которая парсит сохранённую в виде XML структуру оБучающего модуля :D
Дальше всё это дело преобразуется и на основе этих данных строится SCORM-манифест,
он пакуется вместе с данными программы и получатеся SCORM-пакет.
Пакет загружается в LMS с поддержкой SCORM ( например, Moodle ) . Ну и так далее...
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

XML имеет 400000 записей и че-то висит на этапе начала работы с создаваемой очередью ... Хотя файл новый с кодировкой utf 8 создан. Неужели это предел какой-то для записи в очередь ?
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

висит на этапе загрузки документа в очередь- FillDomQueue(XMLDoc,ListXML,1)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C10 SQL парсить XML

Сообщение Yufil »

А если редактором урезать, например, до 100 (или 1000) записей. Прочитается ?
Что будет, если файл просмотреть шаблоном ViewXML ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

C10 SQL парсить XML

Сообщение Игорь Столяров »

talgat55 писал(а): 08 Февраль 2020, 19:12 висит на этапе загрузки документа в очередь
Если компьютер помнит Чингисхана - то для загрузки 200 т. записей потребуется некоторое время. :)
За теми кто отстал - не возвращаться. (С) Кодекс
talgat55
Ветеран
Сообщения: 307
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 2 раза

C10 SQL парсить XML

Сообщение talgat55 »

пробовал viewXML тоже зависает не дождешьси... Резать не хотел - долго муторно и как понял ручная работа- так-то на малых размерах- моментом делает
Ответить