PDA

Просмотр полной версии : Raw (Unparsed) XML


L0K1
25.08.2005, 02:21
привет всем.
извиняйте если повторяюсь)
подскажите как загружая хмл опередить встроенный парсер и получить сырые данные к которым флэш ещё не приложил руку.?
знаю что это возможно потому что сам так уже делал но забыл как:-(
нужно срочно!
спасибо!

Буньков Максим
25.08.2005, 07:58
var my_text:XML=new XML();
my_text.load("WeROX.xml");
my_text.onData=function(text:String){
trace(text);
}
Зацени.. у видаешь

St. Father
25.08.2005, 10:55
а не подскажете парсер есть для Xml не глючный на флэшу?

KidsKilla
25.08.2005, 15:36
у флеша идеальный парсер. он не глючит ни разу. руки прост поправь ;)
кстати, а чем не устраивает XML.toString() ?

L0K1
25.08.2005, 22:14
2Буньков Максим Спасибо! Именно это я и забыл) потом нашёл в справке)))
2KidsKilla Гляков в Флэшевом парсере я тоже не замечал но В ДАННОМ случае мне нужно передавать текст содержаший всякие < > ? | \ / >< = и тд
парсер его ПОРТИТ)
Кстати буду очень благодарен если подскаэите как ОТСЫЛАТЬ такой текст из флэша чтоб он не портился!
Если я что-то упустил поправьте плиз)))

KidsKilla
25.08.2005, 22:18
смотри так:
var my_xml = new XML("<myxml><textwithchars><![CDATA[ < > ? | \ / >< = ]]></textwithchars></myxml>");
trace(my_xml.firstChild.firstChild.firstChild.nodeValue)

L0K1
25.08.2005, 22:23
спасибо не знал(
но тогда сервер получит всё это вместе с тегами хмл а мне надо пересылать только текст!
хотя это тоже решение
неужели нельзя пересылать стринг просто так?

L0K1
25.08.2005, 22:27
с помошью твоего совета мне всё равно надо будет принимать данные сырыми по onData
а отсылать как? my_xml.sendAndLoad("":nnnn, my_xml2) тогда скрипт получит не только мой текст но и теги(
?

Король
25.08.2005, 22:49
юзай &gt и &lt вместо > и <

L0K1
25.08.2005, 23:11
неужели никто не сталкивался с этой проблемой!
мне нужно пересылать текс который содеожит переменные зарание мне неизвестные символы не только < > а </> >|":;'""[]{}===???...%%%$#@!< ;-)
короче вёсь набор алфавитных и не только символов!
неужели нет простого решения???

Король
25.08.2005, 23:15
в xml запрещены насколько я знаю только < > и &
и не рекомендуется использование ' и ".
все остальное можно. для перечисленного - есть аналогичные &gt и &lt последовательности. внимательнее.

KidsKilla
25.08.2005, 23:16
http://proto.layer51.com/d.aspx?f=1032

L0K1
25.08.2005, 23:34
2Король спасибо но это не выход(
2KidsKilla и тебе спасибо))) хоть там и написано что simple and same time very useful но я пока не врубился(
просто ещё в данную минуту у меня нет флэша под рукой) если это не трудно
поясни общую идею. I'll be very thankfull!
Я и не подозревал что передать не только алфавитный текст такая pain in the ass;-)
Если есть ещё инфо буду только рад
Спасибо всем!!!

iNils
26.08.2005, 00:33
2Король спасибо но это не выход(
Почему не выход?
Может пользуешься не правильно?
Сравни два трейса:
xmlG = new XML ("<main>&lt;</main>");
xmlG.ignoreWhite = true;
trace (xmlG.firstChild.firstChild.nodeValue);
trace (xmlG.firstChild.firstChild);

L0K1
26.08.2005, 01:08
ок но не выход потому что я хотел зделать без хмл тегов просто текст и мне надо передавать текст из inputText так что там будут не только <>" ' )
Я согласен что то что вы предлагаете работает не в этом дело!
Тут проблема не только в отдельных символах но и вот в чём например
!#>aaa= <prosto_text> >>> tuda
вроде так Флэш будет пытаться закрыть теги и испортит мой текст
вот что получиться
!#&gt;aaa= <prosto_text> &gt;&gt;&gt; tuda</prosto_text>
(((
простое решение АУ :-)

L0K1
26.08.2005, 09:24
и ещё если использовать

var my1_xml:XML = new XML("<myxml><textwithchars><![CDATA[ < > ? |aaa<f>bbb<v>ggg \ / >< = ]]></textwithchars></myxml>");

то скрипт на сервере всё равно получит:


<myxml><textwithchars> &lt; &gt; ? |aaa&lt;f&gt;bbb&lt;v&gt;ggg \/ gt;&lt; = </textwithchars></myxml>


а я был бы совсем не против если бы он получил просто:

< > ? |aaa<f>bbb<v>ggg \/ >< =

Кто как обходит такие проблемы?
Спасибо!

L0K1
26.08.2005, 09:35
вот кстати линк по теме если кому ещё интересно;-)

http://www.huikuri.com/flash/xml/

L0K1
26.08.2005, 15:08
есть идеи?

KidsKilla
26.08.2005, 16:01
этты с чего решил, что серв её коряво получит??? =)
он получит её заэскейпленную, а это не одно и то же.
ескейп-унескейп при передаче данных стандартная фича, и ежели твой прогер этого не знает, шли его в хелп ;)