OXml

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

OXml

Сообщение resident » 27.05.2015 22:46:00

Здравствуйте!
Хочу поделится найденной шикарной библиотекой для работы с XML файлами. Называется OXml, автор (или один из авторов?) Ondrej Pokorny.
Хомяк:
http://www.kluug.net/oxml.php
Скачать можно тут, нажав кнопку Download Snapshot (уже было несколько изменений, а с релизом автор что-то тянет):
http://sourceforge.net/p/oxml/code/HEAD/tree/
Релизы:
http://sourceforge.net/projects/oxml/files/
Обсуждение (регистрация не нужна):
http://sourceforge.net/p/oxml/discussion/general/

В Лазарус не устанавливается, просто подключаются нужные модули к проекту. Хорошо понятный код и примеры на Лазарусе (там и проект в архиве).
Судя по тестам, у OXml самая большая скорость из всех доступных парсеров. Автор быстро отвечает на вопросы и делает исправления.
Кроме DOM и SAX, есть последовательный Sequential DOM parser.

Есть две реализации OXmlPDOM.pas - Record-based, OXmlCDOM.pas - TObject-based
Если использовать основанные на записи, то в Лазарусе приходится разыменовывать указатели. Я использую основанные на объектах.

Что еще сказать? Дефолтный Лазарусовский XML мне вроде больше не нужен, пока проект переделал на OXml, а там посмотрим :)
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: OXml

Сообщение vada » 28.05.2015 13:37:58

XSLT преобразование есть?
ЗЫ. Времени смотреть нет.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 650
Зарегистрирован: 14.02.2006 13:43:17

Re: OXml

Сообщение resident » 28.05.2015 14:59:09

vada писал(а):XSLT преобразование есть?

Нет

з.ы. Кстати, библиотека понимает кодировку "windows-1251" файла. С Лазарусовским приходилось перегонять в UTF самому :)
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: OXml

Сообщение alexs » 28.05.2015 17:49:12

resident писал(а):С Лазарусовским приходилось перегонять в UTF самому

Там всё норм. Ничего гонять не надо.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3501
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: OXml

Сообщение resident » 28.05.2015 19:02:43

alexs писал(а):Там всё норм. Ничего гонять не надо.

Странно.
Не могли бы вы показать рабочий пример? Интересно как это сделать без перегона. Не исключаю, что я не знаю какой-то тайны или свойств Лазарусовского XML :)

з.ы.
Вот, к примеру, названия валют вывести из файла:
http://www.cbr.ru/scripts/XML_daily.asp
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: OXml

Сообщение Sergei I. Gorelkin » 28.05.2015 19:26:22

Для парсера из пакета fcl-xml достаточно подключить к проекту модуль декодирования, как описано здесь: http://wiki.freepascal.org/XML_Decoders/ru
Сам код чтения менять не нужно.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1370
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: OXml

Сообщение resident » 29.05.2015 09:28:00

Sergei I. Gorelkin писал(а):Для парсера из пакета fcl-xml достаточно подключить к проекту модуль декодирования

Это по вашей ссылке:
Он связан с библиотекой iconv.dll "родной" сборки (т.е. не из состава cygwin или mingw), которую придется распространять вместе с приложением.

http://www.youtube.com/watch?v=bXQ1NxuW-gM
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: OXml

Сообщение gvido » 20.07.2016 13:36:29

Добрый ребята и девчата. Кто-нибудь с помощью описанных выше библиотек работал с файлами нашего ПФР? Там кроме кодировки 1251 еще одна засада - элементы и атрибуты на кириллице...
Поделитесь опытом под лазарус
ОС windows 10 x64 , Lazarus 1.6 x86_64-win64-win32/win64, FPC 3.0.0

Закрываю свой вопрос. Списался с разработчиком и получил ответ: Для лазарус и его UTF-8 нужно в настройках reader и writer указать .ReaderSettings.StrictXML:=false; или .WriterSettings.StrictXML:=false;

Вот.
gvido
постоялец
 
Сообщения: 176
Зарегистрирован: 28.03.2012 11:35:31

Re: OXml

Сообщение naum_off » 28.09.2016 10:41:21

gvido
Большое спасибо. Сам споткнулся на файлах ПФР.
А библиотечка действительно замечательная. Пользуюсь уже несколько лет, еще со времен Delphi. Быстрая, мощная, удобная и стабильная. Пару раз выручал SAX-парсер на файлах по 500 МБ.
naum_off
незнакомец
 
Сообщения: 6
Зарегистрирован: 25.08.2016 13:31:45

Re: OXml

Сообщение gvido » 28.09.2016 17:49:32

naum_off писал(а):gvido
Большое спасибо. Сам споткнулся на файлах ПФР.
А библиотечка действительно замечательная. Пользуюсь уже несколько лет, еще со времен Delphi. Быстрая, мощная, удобная и стабильная. Пару раз выручал SAX-парсер на файлах по 500 МБ.


Да, как бы не за что. Тут все так поступают. Делятся идеями, находками, опытом.
gvido
постоялец
 
Сообщения: 176
Зарегистрирован: 28.03.2012 11:35:31

Re: OXml

Сообщение yus » 26.07.2017 05:52:39

Как я понял библиотека стала полностью платной.
yus
новенький
 
Сообщения: 15
Зарегистрирован: 29.03.2015 14:29:29
Откуда: Томск

Re: OXml

Сообщение IHmG » 04.08.2017 08:48:43

yus писал(а):Как я понял библиотека стала полностью платной.

где такое прочитали?

как раз сейчас ищем библиотеку для работы из Lezarus (саму среду установил только вчера, прошу сильно не пинать... но лет 10 назад был опыт работы на Delphi) и пользовательское требование "использовать free", продукт будет патентоваться
IHmG
незнакомец
 
Сообщения: 2
Зарегистрирован: 04.08.2017 08:40:44

Re: OXml

Сообщение tema » 04.08.2017 21:31:15

Выложите, пожалуйста, кто-нибудь последнюю Open source версию... А то везде поудалено....
tema
постоялец
 
Сообщения: 352
Зарегистрирован: 24.03.2011 20:19:27

Re: OXml

Сообщение IHmG » 05.08.2017 11:50:29

tema писал(а):будь последнюю Open source версию... А то везде поудалено....

+1
IHmG
незнакомец
 
Сообщения: 2
Зарегистрирован: 04.08.2017 08:40:44

Re: OXml

Сообщение yus » 06.08.2017 07:12:09

yus
новенький
 
Сообщения: 15
Зарегистрирован: 29.03.2015 14:29:29
Откуда: Томск

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 5

Рейтинг@Mail.ru