Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
Привет всем.
Пока работал на Win32 пользовался NativeXML, всё устраивало, всё работает итд.
Но проект заброшен и мне надо что то другоe хорошое чтоб похало
под Win64, FPC-64 и FMX-Linux ...
Перебрал тут всякое, но что то универсальное пока ненашёл :(
Посоветуите что то.
Заранее спасибо.

WBR
Janex
5 ноя 18, 21:45    [21724637]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3862
Janex,

надо уточнять, что именно хочется от библиотеки -- бесплатная, чтение и создание xml, работа с очень большими файлами, поддержка разных кодировок. А то может там многогиговую базу ФИАС надо будет считывать.

Лично я использую OXML ( http://www.kluug.net/oxml.php ), где всё это есть (как раз на замену NativeXML взял). Но эта библиотека стала платной со второй версии, а вот первую можно тут скачать (опенсорс).
5 ноя 18, 22:00    [21724649]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
JaDi
Janex,

надо уточнять, что именно хочется от библиотеки -- бесплатная, чтение и создание xml, работа с очень большими файлами, поддержка разных кодировок. А то может там многогиговую базу ФИАС надо будет считывать.

Лично я использую OXML ( http://www.kluug.net/oxml.php ), где всё это есть (как раз на замену NativeXML взял). Но эта библиотека стала платной со второй версии, а вот первую можно тут скачать (опенсорс).


>> надо уточнять, что именно хочется от библиотеки -- бесплатная...
Доступная :)

Да, для чтение и создание, фаили маленькие, цмотрел на OXML, пробовал, но последняя безплатная нерулит под всё что мен нужно :(
Кстати, емаил мои, если дать совет инкогнито: janex72 СОБАКА Gmail.цом :)

WBR
Janex
5 ноя 18, 22:31    [21724677]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
Janex,

использую жедаевские TJclSimpleXML, нормально работают, где пробовал.
версия JCL для FPC, если что:

https://github.com/Makhaon/jcl
6 ноя 18, 10:55    [21724967]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1810
Janex,

Я конечно понимаю, что ты спрашиваешь про XML, но в 90% случаев XML можно заменить на Json.
Посмотри, может быть имеет смысл использовать его.
На Ютубе есть более чем часовое видео о работе с Json, но его можно свести этой картинке.
6 ноя 18, 11:24    [21725003]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1810


К сообщению приложен файл. Размер - 75Kb
6 ноя 18, 11:24    [21725004]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1810
Ну и такой вариант:

uses Rest.Json;

type
 TAppSettings = class
  private
     FUserName: string;
     FUserMessage: string;
  published
     property UserName:string read FUserName write FUserName;
     property UserMessage:string read FUserMessage write FUserMessage;
  end;

....
procedure TForm1.Button1Click(Sender: TObject);
var
 AppSettings: TAppSettings;
begin
  AppSettings:=TAppSettings.Create;
  try
   AppSettings.UserName:='Vasya';
   AppSettings.UserMessage:='Hello World';
   ShowMessage(TJson.ObjectToJsonString(AppSettings));
  finally
    AppSettings.Free;
  end;
end;
6 ноя 18, 11:39    [21725016]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
alekcvp
Member

Откуда:
Сообщений: 1142
makhaon
Janex,

использую жедаевские TJclSimpleXML, нормально работают, где пробовал.
версия JCL для FPC, если что:

https://github.com/Makhaon/jcl


+ uses

{JclSimpleXML}
uses
JclCharsets,
JclStrings,
JclUnicode,
JclStringConversions,
JclResources;

{JclUnicode.pas}
uses
JclStreams,
JclSysUtils,
JclSysInfo,
JclWideStrings;

{JclStreams.pas}
uses
JclMath;

{jclMath}
uses
Jcl8087,
JclSynch;

Дальше лень копать было. Вот одна из причин, за которую я не люблю jedi. Один любой функциональный модуль линкует за собой в проект почти всю библиотеку, включая таблицы unicode символов.
6 ноя 18, 12:24    [21725084]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
Дааа ... наверное всётаки придётся перебароть лень и на конец то
разобратся с JSON. Давно на его смотрю, но как то лень было выучать его :)
6 ноя 18, 12:44    [21725114]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
alekcvp,
очередной страдалец по размерам бинарников :)
автор
на конец то разобратся с JSON.

Дело хорошее, я сам много утащил на JSON, XML только в нескольких местах остался. Кроме стандартной либы можно посмотреть на SuperObject и XSuperObject.
6 ноя 18, 12:59    [21725137]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
alekcvp
Member

Откуда:
Сообщений: 1142
makhaon
alekcvp,
очередной страдалец по размерам бинарников :)


Не то, чтобы прямо страдалец, но релизный экзешник в десяток и более мегабайт, который не делает ничего, просто jvcl-компонент добавил на формочку.... всё-таки перебор :)
6 ноя 18, 13:28    [21725173]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 910
Главное чтобы небыло конфигов в json которые Вам надо редактировать руками.
6 ноя 18, 13:45    [21725198]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
alekcvp,

автор
Не то, чтобы прямо страдалец, но релизный экзешник в десяток и более мегабайт, который не делает ничего, просто jvcl-компонент добавил на формочку.... всё-таки перебор :)


что же болезный такого добавил ты? :)
6 ноя 18, 14:36    [21725291]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
leonmbs
Member

Откуда: Харьков
Сообщений: 222
Janex
Дааа ... наверное всётаки придётся перебароть лень и на конец то
разобратся с JSON. Давно на его смотрю, но как то лень было выучать его :)

и какую задачу решит json которую не решает xml? в вебе где работа с яваскриптом json еще имеет смысл - в десктопных приложениях от него больше проблем чем пользы.
6 ноя 18, 14:48    [21725314]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3862
leonmbs
Janex
Дааа ... наверное всётаки придётся перебароть лень и на конец то
разобратся с JSON. Давно на его смотрю, но как то лень было выучать его :)

и какую задачу решит json которую не решает xml? в вебе где работа с яваскриптом json еще имеет смысл - в десктопных приложениях от него больше проблем чем пользы.

С json очень просто работать (конечно, если использовать сторонние библиотеки типа JsonDataObjects). Можно забыть про парсинг или проверку данных -- просто грузим файл, работаем как с объектом и потом сохраняем. Ничего лишнего не перепишется и "чужие" данные не затронутся из этого файла.
6 ноя 18, 15:00    [21725338]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
А есть вообше в природе какои то JSON парсер которыи нормально компилится под FPC ?
Пробовал SuperObject, xSuperObject, JSONDataObjects, lkJSON ... да некомпилится не один из них
под последнии FPC (3.04 вроде).
Напильником обрабатывать, чтоли.

На FPC под линухом и Delphi32/64 и FMX-Linux64 вообше ешё нетестировал, на
простом FPC/64 даже неработает :(

Мне бы наидти такои то чтоб под FPC /Win/Linux и Delphi32/64 и FMX-Linux64 компилился
чтоб в каждои среде невазится со своим парсером.

А задача там тривиальная - просто параметри передавать в dll/so
6 ноя 18, 19:05    [21725747]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
Janex,

SuperObject у меня собрался, правда после допиливания
6 ноя 18, 19:16    [21725762]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
makhaon,

А неподелитесь ли, пожалуиста, с подпиленым етим чудом,
а то у меня где то напильник потерялся ? :) :) :)
6 ноя 18, 19:21    [21725770]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
Janex,

забирай:
https://github.com/Makhaon/superobject
на всех версиях fpc не тестировал, только на 3.1.1, возможно еще допиливать нужно.
6 ноя 18, 19:42    [21725804]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
makhaon
Janex,

забирай:
https://github.com/Makhaon/superobject
на всех версиях fpc не тестировал, только на 3.1.1, возможно еще допиливать нужно.


А на 3.3.1 уже некомпилится :)
Ругается что незнаком с TCustomAttribute и TRttiField :)
6 ноя 18, 21:03    [21725876]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
Janex
Member

Откуда: Латвия
Сообщений: 1032
Кароч, потратил целии день в поисках универсального парсера и решил
что буду пробовать в FPC и Delphi пользоватся ихними родными.
Для таго минимума что мне нужно врятли получу какои то выигриш если
подпилю какие то сторонные парсери, даже несмотря сколько времени
на ето потрачу...
Спасибо всем за советы :)
6 ноя 18, 21:42    [21725895]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2922
Janex,

печально, надо править :)
6 ноя 18, 21:43    [21725896]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12484
Janex
под Win64, FPC-64 и FMX-Linux ...


Использовать стандартную, встроенную в Delphi библиотеку.
7 ноя 18, 09:52    [21726134]     Ответить | Цитировать Сообщить модератору
 Re: XML для всего  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12484
тут есть json парсер
https://github.com/Zeus64/alcinoe
и это библиотека для iOS, Android, Win32. На счет Linux и Win64 не уверен.
11 ноя 18, 13:07    [21730926]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить