Страница 1 из 5

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

Добавлено: 18 Июнь 2019, 21:12
Игорь Столяров
Привет всем !

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

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

Заранее спасибо ! :)

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

Добавлено: 18 Июнь 2019, 22:04
ingasoftplus

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

Добавлено: 18 Июнь 2019, 22:38
Игорь Столяров
Так это же крутой JSON парсер, а не конвертер XML в JSON ...
Под мои задачи пока и штатного JSON парсера Clarion хватает.

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

Добавлено: 18 Июнь 2019, 22:50
ingasoftplus
тогда не могу удержаться http://www.ingasoftplus.com/ProductDeta ... ductID=293

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

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

Добавлено: 18 Июнь 2019, 23:06
Игорь Столяров
Упс ! Спасибо - это интересно. :)

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

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

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

Добавлено: 19 Июнь 2019, 8:46
Constantine
И я не удержусь... :-)
А можно примерчик с прикручиванием vbscript парсера к клариону?

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

Добавлено: 19 Июнь 2019, 9:06
Игорь Столяров
Constantine писал(а):
19 Июнь 2019, 8:46
А можно примерчик с прикручиванием vbscript парсера к клариону?
Только, что было … см. viewtopic.php?f=1&t=4260 от 16.06.2019 г.

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

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

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

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

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

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

Добавлено: 19 Июнь 2019, 9:22
Игорь Столяров
Constantine писал(а):
19 Июнь 2019, 9:17
через COM-интерфейс, через Shell, через OLE и т.п.
Гы ! Run('C:\Temp\MyScript.vbs') … :)

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

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

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

Добавлено: 19 Июнь 2019, 9:24
Constantine
Понятно.
А результаты - в файл? :-)

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

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

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

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

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