XMLDocument как в Delphi

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

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

Ответить
alaken
постоялец
Сообщения: 221
Зарегистрирован: 18.02.2010 08:02:13

XMLDocument как в Delphi

Сообщение alaken »

Не охото изобретать велосипед, но нужна объетка/реализация классов такая как в Delphi (XMLDoc, XMLIntf)
есть проект на Delphi с активным использованием методов данных модулей, стоит задача перевести проект на Lazarus/FPC, как оказалось реализация методов работы с XML структурой различны. Может быть есть уже готовые обертки?
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

alaken
постоялец
Сообщения: 221
Зарегистрирован: 18.02.2010 08:02:13

Сообщение alaken »

vada писал(а):http://freepascal.ru/news/20100118103734/

это я уже видел.

Дело в том, что в Delphi используются конструкции типа
xConfig := TXMLDococument.Create;
xNode := xNode.AppendChild( CnstGeneral );
xConfig.ChildNodes[CnstGeneral].ChildNodes[CnstGeneral ].SetAttribute('Attr', 'Value')
но доступная реализация в FPC отлична от delphi и не позволяет обращаться к потомкам через строковое значение, только по индексу.

так же в delphi у TXMLDocument имеются методы SaveToFile, LoadFromFile, в FPC аналогичные методы реализованы в разных модулях, при чем аналог LoadFromFile - ReadXMLFile не позволяет загружать в существующий документ данные, в исходниках видно как аргументу документа присваивается nil...

все это усложняет перевод проекта с Delphi на Lazarus/FPC.
Аватара пользователя
vada
энтузиаст
Сообщения: 691
Зарегистрирован: 14.02.2006 12:43:17

Сообщение vada »

Как неповезло яблоку (с)

Придется вдумчево перепереть на то что есть, со всяческими IFDEFINE.

ЗЫ. Всяческих XML парсеров несметное количество. В инете их... как у дурака фантиков.
Maxizar
постоялец
Сообщения: 385
Зарегистрирован: 20.03.2010 18:48:14

Сообщение Maxizar »

IMHO: придется разобраться с принципом работы XML в FPC, и переписать именно логику а не копипаст кода.
У меня был один проект для курсовой, который я писал на Delphi, в котором нужно было использовать XML (там я хранил структуру диэлектрического зеркала (ой да простят меня физики 1D Фотонный кристалл...)). И знаете, после того как я перешел на Lazarus и освоил работу с XML (ну до нужного мне уровня конечно..) мне кажется что FPC рулит в этом вопросе по сравнению с Delphi.
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

alaken
Вот тут я выкладывал портированную версию библиотеки SimpleXML Михаила Власова. Судя по описанию из предыдущего поста (AppendChild/ChildNodes/SaveToFile/LoadFromFile и т.п.) её интерфейс ближе к тому что вам нужно, хотя тоже возможны несовпадения.
Ответить