![]() |
""" вместо кавычек
Здравствуйте!
Проблема такого характера. Получаю с сервера хмл, одним из нодов, которого в свою очередь тоже является хмл. И вот, этот вложенный хмл, состоит из последовательностей """ вместо ковычек и т.д. Что можно сделать? |
Пример XML, пожалуйста.
|
[откоцано 4 КБ XML]
нод <level_data> по идее хмл еще один |
О боже, что мешало прицепить в архиве, а?
CDATA в помощь. |
в целях экономии места, я бы использовал какую-нибудь более краткую и удобную комбинацию, а вообще не понимаю о чем идет речь.
|
А в чем проблема с "? ведь во флеше оно верно отобразится, как надо.
|
Вложений: 1
Проблема в том, что сиомволы "'", "<", ">" вложенного хмля разбиваются на подобные последовательности и с передаваемым xml не представляется возможным работать.
CDATA я использую, для передачи информации на сервер. Но получаю я уже такие последовательности. Как мне из них хмл собрать опять? |
Спрошу по-другому.
Что мне надо сделать, чтобы вот этот код возвращал XML, с которым можно работать? Код:
var leveltxt = "<objects name="myName " ><object name="rino" type="single" /><object name="tree4" type="tree" x="320" y="197.4" N="40" id="tree4" isBorder="true"/></objects>"; |
Нужно на самом сервере сделать так, чтобы он такой XML больше не выдавал.
|
понял. а флеш-клиент ниче все-таки не может сделать? кроме, скажем, диких функций, которые все эти дела найдут и заменят на нормальные символы...
|
Может, но это неправильно с точки зрения организации.
|
вообще, в базу, из которой этот хмл сервер берет и дает мне, я же его и кладу (то есть сам вложенный хмл). Кладу его используя <![CDATA[...]]>. Но может здесь какая-то ошибка есть?
|
Тега CDATA в приведенном XML нет.
|
а почему он там должен быть? сервер же считывает сами данные в этом теге и кладет в базу, потом эти данные возращает...
|
Сервер должен выдавать XML без всяких < и > и иже с ними и точка.
|
проблема не решена
|
Ну так решайте проблему на сервере, а не клиенте, говорят же.
|
|
Вот решение проблемы:
при передачи данных на сервер, используется примерно такая схема: Код:
str = "<level_data><![CDATA[" + escape(level_data.toString()) + "]]></level_data>";Код:
|
О боже… :wacko:
Что в лоб, что по лбу. Не должен флеш так делать! Он посылает нормальный XML, сервер его должен получить и нормально выдавать! level_data — XML чистой воды. Зачем его escape-тить, запихивать черт знает куда (в CDATA) и отправлять в таком кастрированном виде? Что помешало отправить level_data как есть? Почему нельзя заставить нормально работать сервер? На данный момент приведенное решение является кривым до невозможности, мало того, что сервер криво обрабатывает XML, так ещё и флеш занимается какой-то дурацкой конвертацией и перемешиванием XML из-за кривости сервера… |
| Часовой пояс GMT +4, время: 04:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.