![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2008
Сообщений: 41
|
Существует ли возможность динамического изменения содержимого атрибутов XML? Возьмем, к примеру, слайд-шоу. Выводимые картинки имеют подписи, которые прописаны в соответствующих атрибутах xml. Есть намерение реализовать возможность изменения этих подписей через input textfield, в случае, если у зрителя возникнет такое желание. Типа myXML.firstChild.firstChild.attributes["старая подпись"]=текущее содержимое input textfield. Но реально ли это? В мануале массив XML.attributes определен как
Цитата:
|
|
|||||
|
listener
|
Вы грузите хмл с атрибутами извне, верно?
Сам флэш не сможет сохранить измененный хмл на диск пользователя, хотя мгновенно, пока приложение запущено, надпись действительно может поменяться на новую именно как вы хотите. Но после рестарта будет загружен прежний хмл, и опять пользователь увидит прежние надписи, что не есть гуд. Короче, вам надо найти способ сохранять из флэша измененный хмл на диск. В этом могут помочь либо оболочки, либо серверсайд. |
|
|||||
|
Регистрация: May 2008
Сообщений: 41
|
Все именно так и происходит: надпись меняется, но после перезапуска пропадает, в файле xml, естественно, ничего не меняется. А Zinc может помочь в этом случае?
|
|
|||||
|
А зачем тут Цинк?
Если Вы хотите изменить этот атрибут так, чтобы он отображался по-новому для ВСЕХ, тогда можно просто отправить новый XML (полученный путем редактирования) серверу, где он и сохранится в виде файла. А если Вы хотите, чтобы у пользователя (у конкретно ОДНОГО пользователя) надписи выглядели по-другому, тогда можно сохранить что и на что он заменил через SharedObject
__________________
...вселенская грусть |
|
|||||
|
Регистрация: May 2008
Сообщений: 41
|
Вообще-то приложение изначально предусмотрено как десктопное и преобразуется в exe цинком. Только сначала пытался делать пересохранение xml средствами Flash, что как указал здесь alexcon314, конечно же, неправильно, а теперь хотелось бы поподробнее узнать о возможностях цинка при обработке xml и вижу, что нужно перемещаться в соответствующую ветку. Просьба модератору переместить тему в "Flash-приложения: Air, Zinc..." Или начинать новую тему?
|
|
|||||
|
Регистрация: May 2008
Сообщений: 41
|
Спасибо, alexcon314, за проявленное понимание. И с ходу, пока еще ничего не делая из предложенных вариантов, хочу уточнить некоторые моменты. Если я правильно понимаю, обработка xml в данном случае производится путем чтения его в строку и затем предполагается дальнейшая обработка его именно как строки, стандартными средствами Flash по работе со строками? То есть у цинка не предусмотрено специальных инструментов для работы с xml: перебор узлов и чтение их содержимого и атрибутов?
|
|
|||||
|
listener
|
надо делать примерно так:
-грузим хмл средствами флэша var xml:XML=new XML(); xml.load("myxml.xml"); -используя методы и свойства AS-класса XMLNode, работаем с загруженным хмл-ом: добавляем/удаляем ноды, модифицируем атрибуты и т.д. -когда все готово для сохранения, вызываем mdm.Filesystem.saveFileUnicode("myxml.xml", xml.toString()); mdm.Filesystem.saveFileUnicode() нужен, если сохраняемая информация содержит русские буквы.Иначе потом флэш не сможет их корректно загрузить при последующем редактировании. Т.е. методов для работы с хмл у флэша более, чем достаточно, чтобы желать еще чего-то. Цинк нужен только для сохранения, чего сам флэш делать не может. Впрочем, 10-й плеер лишен этого недостатка: он может сохранять файлы без дополнительных программ-оболочек. Тем не менее, у цинка много фич, которые делают его использование оправданным. Последний раз редактировалось alexcon314; 01.02.2009 в 23:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|