Чисто гипотетически !

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 18 Июнь 2019, 21:12

Привет всем !

Подскажите пожалуйста, а существует вообще способ трансформации произвольного XML файла в JSON ?
Я умею разбирать XML несколькими способами, но в контексте Clarion ни один из них нельзя назвать простым.

Много времени тратится, жалко. В день получается написать и отладить не более 4-5 файлов XML. :(
А так бы - перебил XML в очередь со структурой и загрузил из JSON одной командой, как белый человек … :)

Заранее спасибо ! :)
«V» значит Вендетта !

Аватара пользователя
ingasoftplus
Старожил
Сообщения: 271
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)

Чисто гипотетически !

Сообщение ingasoftplus » 18 Июнь 2019, 22:04


Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 18 Июнь 2019, 22:38

Так это же крутой JSON парсер, а не конвертер XML в JSON ...
Под мои задачи пока и штатного JSON парсера Clarion хватает.
«V» значит Вендетта !

Аватара пользователя
ingasoftplus
Старожил
Сообщения: 271
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)

Чисто гипотетически !

Сообщение ingasoftplus » 18 Июнь 2019, 22:50

тогда не могу удержаться http://www.ingasoftplus.com/ProductDeta ... ductID=293

там скачайте демку - в ней есть пример XML в JSON и обратно

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 18 Июнь 2019, 23:06

Упс ! Спасибо - это интересно. :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1298
Зарегистрирован: 06 Ноябрь 2014, 12:48

Чисто гипотетически !

Сообщение finsoftrz » 19 Июнь 2019, 8:32

Тоже не удержусь. :-)
Интерфейс через vbscript - никаких закрытых библиотек, куча примеров в интернете на любой случай. Работает железобетонно и без сюрпризов. Один раз обертку написать, чтобы в приложении минимум кода было. Уже не первый год в боевом режиме работает на нескольких десятках рабочих мест...
Это я про парсер xml...
Рязань решает.

Constantine
Активист
Сообщения: 145
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine » 19 Июнь 2019, 8:46

И я не удержусь... :-)
А можно примерчик с прикручиванием vbscript парсера к клариону?

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 19 Июнь 2019, 9:06

Constantine писал(а):
19 Июнь 2019, 8:46
А можно примерчик с прикручиванием vbscript парсера к клариону?
Только, что было … см. viewtopic.php?f=1&t=4260 от 16.06.2019 г.
«V» значит Вендетта !

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 19 Июнь 2019, 9:14

finsoftrz писал(а):
19 Июнь 2019, 8:32
Это я про парсер xml...
Скрипт - это прекрасное решение вопроса парсинга XML.
Но в век глобальных киберугроз и постоянного вмешательства в выборы - лично мне не нравится когда программа постоянно
шарашит что-то на запуск из TMP папки. Это может очень сильно огорчать антивирус, а их ведь тоже не все Касперский создавал … ;)

Да и сами файловые операции не быстрые. Тем более, что сейчас уже весь парсинг XML можно прокрутить в RAM.
«V» значит Вендетта !

Constantine
Активист
Сообщения: 145
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine » 19 Июнь 2019, 9:17

Спасибо!
Но это - пример использования.
А интересует именно способ прикручивания: через COM-интерфейс, через Shell, через OLE и т.п.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 19 Июнь 2019, 9:22

Constantine писал(а):
19 Июнь 2019, 9:17
через COM-интерфейс, через Shell, через OLE и т.п.
Гы ! Run('C:\Temp\MyScript.vbs') … :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1298
Зарегистрирован: 06 Ноябрь 2014, 12:48

Чисто гипотетически !

Сообщение finsoftrz » 19 Июнь 2019, 9:22

Constantine писал(а):
19 Июнь 2019, 9:17
Спасибо!
Но это - пример использования.
А интересует именно способ прикручивания: через COM-интерфейс, через Shell, через OLE и т.п.
run
Рязань решает.

Constantine
Активист
Сообщения: 145
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine » 19 Июнь 2019, 9:24

Понятно.
А результаты - в файл? :-)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4211
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Чисто гипотетически !

Сообщение Игорь Столяров » 19 Июнь 2019, 9:31

Constantine писал(а):
19 Июнь 2019, 9:24
А результаты - в файл?
Да. Т.е. снова: открыть файл, загрузить из файла, закрыть файл ...
По сути - это передача задачи парсинга XML внешнему приложению и получение результата через файл обмена данными.
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1298
Зарегистрирован: 06 Ноябрь 2014, 12:48

Чисто гипотетически !

Сообщение finsoftrz » 19 Июнь 2019, 9:34

Игорь Столяров писал(а):
19 Июнь 2019, 9:14
finsoftrz писал(а):
19 Июнь 2019, 8:32
Это я про парсер xml...
Скрипт - это прекрасное решение вопроса парсинга XML.
Но в век глобальных киберугроз и постоянного вмешательства в выборы - лично мне не нравится когда программа постоянно
шарашит что-то на запуск из TMP папки. Это может очень сильно огорчать антивирус, а их ведь тоже не все Касперский создавал … ;)

Да и сами файловые операции не быстрые. Тем более, что сейчас уже весь парсинг XML можно прокрутить в RAM.
Не замечал тормозов. Обычно xml файлы не такие большие и их парсинг выполняется быстро. Скажем, пару секунд до получения готового результата в кьюшки. Файловые операции с маленькими файлами, как я понимаю, скорее всего все в оперативной памяти происходят. ОС не успевает сохранить на физический диск... Временные фалы пишутся в каталог пользователя, туда все его временные файлы пишутся. Сейчас гораздо больше других дыр в безопасности, чем запуск vbscript. Кларион работает с текстовыми файлами, как с родными. А вот интерфейс с внешними сложными библиотеками может быть полон сюрпризов. Я просто озвучиваю практический опыт. В реальной жизни парсинг xml не должен быть чем-то, на что надо тратить много времени. Опять таки, это один из инструментов. У меня, например, есть еще и самодельный парсер, но он предназначен для конкретных задач - выгрузка и загрузка таблиц базы данных.
Рязань решает.

Ответить