![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Louken |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 13.9.2008 Где: Кострома Репутация: 1 Всего: 1 |
Здраствуйте.
Пишу проект - некий редактор, где есть родитель, дочерние контролы, у них есть свои настройки. Есть возможность сохранения проекта в файл. Сейчас все сохраняется в бинарный файл, но хочеться перенести это дело в XML, чтобы при выпуске новых версий программы можно было открывать старые файлы, в которых структура файла другая. Вот проблемма в парсинге XML-файла. Нет, конечно можно заюзать TXMLDocument, но он тормоз и неудобен. Прочитал про SAX парсер, удобная штука, но вот не могу найти ее реализацию для Delphi. Собственно в этом и вопрос, кто нибудь знает про это? И еще вопрос, допустим мне для контрола нужно загрузить какие то данные, Также еще интерисует как обрабатывать элеенты XML. Допустим, загрузили очередное свойство для контрола - "Width" и получили его значение - "5", это чтоже, мне делать большой и мохнатый if then else, где перечислять все свойства и искать нужное, для того чтобы установить это свойство контролу? Ну и пока последний вопрос, для чего нужно пространство имен в XML? |
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Published-свойства можно задавать по имени. Примеры здесь. Да их полно, вот, например. Вот еще весьма неплохой парсер: janXML Parser
Пространство имён (XML) |
|||
|
||||
| Louken |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 13.9.2008 Где: Кострома Репутация: 1 Всего: 1 |
Об этом я думал, только будет ли это эффективно, особенно если надо много массивов и property - свойств загружать?
Спасибо, вечером буду смотреть википедию читал, но не понятно, смотрел много всяких XMLок, но все равно безтолку, можете как нить попроще объяснить, а так наверно придеться без них работать. Да, и почему просто вместо какого нибудь слова, обязательно нужно URL адрес впихивать, это же сильно увеличивает размер файла, да и удобочитаемость снижается? |
|||
|
||||
| Rrader |
|
||||||||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Из http://www.citforum.ru/internet/xml/xml_namespaces/
Должна быть определенная спецификация для идентификатора, иначе можно получить коллизии. Те, кто стандарт определял, выбрали URI для идентификатции
Все зависит от того, что вы сохраняете. Сохраняемые свойства все published? Массивы отдельно от классов? |
||||||||
|
|||||||||
| Louken |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 13.9.2008 Где: Кострома Репутация: 1 Всего: 1 |
интересно, значит не один я испытываю трудность в понимании пространства имен. также обнадежило то, что это далеко не обязательный элемент, значит буду обходиться без этого.
Свойства, поидее, можно сделать published, но мне, например, также нужно загружать параметры градиентной заливки для объекта, т.е. массив цветов и массив смещений для каждого цвета от начала заливки. Сейчас я просто загружаю эти два массива из бинарного файла, и передаю в процедуру, которая устанавливает, для объекта фона, тип - градиентная заливка. Пока не решил, как это будет сохраняться в XML-файле, соответственно не знаю, как буду это из него грузить. А вообще, щас тружусь над другой проблемой, про XML пока собираю информацию, чтобы не приходилось переделывать по ходу реализации, кода до этого дойдет дело. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |