Нужна помощь с редактором XML

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

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

Нужна помощь с редактором XML

Сообщение Brych » 19.06.2015 01:43:20

Всем привет!
В школе учил программирование на паскале, имею некоторые навыки создания простых консольных приложений.
Теперь появилась потребность в пакетной правке простейших XML документов. Решил попробовать сделать программу, которая берет данные из обычног текстового файла, и записывает их в определенные теги (при надобности создает или удаляет теги).
В качестве среды был выбран Лазарус. После знакомства с интерфейсом, попробовал написать программу которая работает с текстовыми файлами (которыми XML и являются), спустя гдето 150 строк, оказалось что с файлами можно работать через поля MEMO. :shock: Начал всё сначала :? Спустя 300 сторк кода и 2 дней исправление ошибок в процедурах разбиение на ноды и вытаскивания инфы, наткнулся на модули Xml read, write, DOM для работы с XML. :D Теперь опять начинаю все сначала, собираю по крупицам инфу по операторах в модулях.
Так как я полный нуб в объектно-ориентированном программировании, и только смутно представлю что, как и зачем, то решил спросить знающих людей на верном ли я пути, и как лучше решить задачу.
Буду рад любым советам и подсказкам(особенно самым примитивным). PS http://wiki.freepascal.org/XML_Tutorial/ru читал, но много не понял(не до конца понимаю логику этих записей через точку).

Фрагмент одного из редактируемых XML(его там гдето 800 строк)

<?xml version="1.0" encoding="utf-8"?>
<UkrainianCadastralExchangeFile>
<AdditionalPart>
<ServiceInfo>
<FileID>
<FileDate>2014-11-12</FileDate>
<FileGUID>214124-dsfsddsf-sdfsdfsd-234234</FileGUID>
</FileID>
<FormatVersion>1.0</FormatVersion>
<ReceiverName>ЗРФ ДП "Центр ДЗК"</ReceiverName>
<Software>Digitals</Software>
<SoftwareVersion>5.0</SoftwareVersion>
</ServiceInfo>
Brych
незнакомец
 
Сообщения: 5
Зарегистрирован: 19.06.2015 01:10:57

Re: Нужна помощь с редактором XML

Сообщение resident » 19.06.2015 10:14:12

Вобщем правильно. Еще можно сделать один шаг в сторону ИМХО более понятного кода (а не этот Xml read... и прочая непонятная с ходу муть) и использовать OXML, где все как у больших:
viewtopic.php?f=5&t=10324

Про "точку":
http://rsdn.ru/article/Delphi/Delphi_7_03.xml

Плюс к "точке" щелкаете правой кнопкой мыши на любом непонятном слове и выбираете "Найти объявление", а там уже смотрите что и откуда.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Нужна помощь с редактором XML

Сообщение Zhbr » 19.06.2015 10:15:13

Так а в чем собственно вопрос? если речь про использование модулей то естественно удобнее и правильней будет через них создавать xml, в вики про dom хорошие статьи. немного разберешься что да как там и дело попрет.
Zhbr
новенький
 
Сообщения: 44
Зарегистрирован: 31.01.2014 02:34:21

Re: Нужна помощь с редактором XML

Сообщение vada » 19.06.2015 15:44:23

Теперь появилась потребность в пакетной правке простейших XML документов.

Посмотри в сторону XSLT преобразования. Может и программу писать не придется. Только правила преобразования.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Нужна помощь с редактором XML

Сообщение Brych » 19.06.2015 16:40:14

Почитал про XSLT в википедии, боюсь для меня это слишком сложно, и можно ли там вставлять в ноды значение, взятые из текстовых файлов.
Не подскажете какие преимущества у OXML перед стандартными DOM, xmlread,write?
Раньше я вообще решал подобное с помощью программ "пакетное найти и заменить", но теперь есть потребность брать значение из специально сформированного текстового файла.
Уже начал читать статью про ООП (спасибо Resident!), думаю за денек буду иметь общее представление.
Brych
незнакомец
 
Сообщения: 5
Зарегистрирован: 19.06.2015 01:10:57

Re: Нужна помощь с редактором XML

Сообщение vada » 19.06.2015 17:48:27

Почитал про XSLT в википедии, боюсь для меня это слишком сложно, и можно ли там вставлять в ноды значение, взятые из текстовых файлов.

Не так уж и сложно. Язык описания сценария весьма прост. Примеров и учебников в инете навалом. Знай себе на вход подавай значения в формате XML. А надергать значений из тестового, да из любого источника, и засунуть их в XML... Я вас умоляю. Ну очень просто.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Нужна помощь с редактором XML

Сообщение resident » 19.06.2015 19:32:27

Brych писал(а):Не подскажете какие преимущества у OXML перед стандартными DOM, xmlread,write?

Лазарусовский работает отлично в пределах своих возможностей. Если решение уже есть, то никаких.

Brych писал(а):Уже начал читать статью про ООП (спасибо Resident!), думаю за денек буду иметь общее представление.

Я тоже далек от программирования. По этой статье ООП и изучил :mrgreen:
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Нужна помощь с редактором XML

Сообщение Brych » 20.06.2015 01:49:13

Спасибо всем кто отозвался!!!
Решил использовать стандартные модули для XML, уже набросал полу рабочий вариант программы. :D Все пишется и читается, осталось только доделать кое какие нюансы, и дописать все условия для вставки.
PS сколько строк можно уместить в мемо? :wink:
Brych
незнакомец
 
Сообщения: 5
Зарегистрирован: 19.06.2015 01:10:57

Re: Нужна помощь с редактором XML

Сообщение Снег Север » 20.06.2015 08:17:10

Brych писал(а):PS сколько строк можно уместить в мемо?
Теоретически - сколько машинной памяти хватит. Из практики - сотни тысяч строк без заметных проблем.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3053
Зарегистрирован: 27.11.2007 16:14:47

Re: Нужна помощь с редактором XML

Сообщение resident » 20.06.2015 13:04:02

Brych писал(а):PS сколько строк можно уместить в мемо? :wink:

Свойство Memo.Text - это вроде как строка, слепленная из всех строк. Тогда тут скорее будет действовать ограничение на максимальный размер строки Lazarus. Наверное гигабайт с копейками. По факту же я не могу терпеть тормоза и при 20 мегабайт. И похоже чем дальше тем еще медленнее будет.

Сделал тест. Когда строки короткие, то все нормуль. А как увеличиваешь, так общий размер растет, и соответственно появляются тормоза.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Нужна помощь с редактором XML

Сообщение Brych » 20.06.2015 23:07:49

Ха :D затестил, да после 30 мб уже намного медленней идет, до 50 так и не дошел - надоело ждать :mrgreen:
Ну мне так много и не надо!
Есть у кого ссылки на толковое русское руководство по DOM? Буду очень признателен :wink:
Brych
незнакомец
 
Сообщения: 5
Зарегистрирован: 19.06.2015 01:10:57

Re: Нужна помощь с редактором XML

Сообщение resident » 21.06.2015 10:17:12

resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51


Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 212

Рейтинг@Mail.ru