Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не срабатывает "\n" при получении текста из XML (http://www.flasher.ru/forum/showthread.php?t=129693)

dark256 08.09.2009 13:59

не срабатывает "\n" при получении текста из XML
 
Собственно есть динамическое текстовое поле и если во флэшке я пишу
поле.txt = "строка1\nСтрока2" , то перенос строки в текстовом поле производится.
Видим:
строка1
Строка2


Если же я беру строчку с этим тегом из XML:

xmldata=<?xml version="1.0" encoding="utf-8"?>
<table>
<MSG txt="строка1\nСтрока2"/>
</table>

Код AS1/AS2:

//Парсер:
...
if(xml.childNodes[i].nodeName == "MSG")
{
        var MSG = msg_array[xml.childNodes[i].attributes.id] = new Object()
        MSG.titl = xml.childNodes[i].attributes.txt
}
 
поле.txt = msg_array[ номер ].titl

то в текстовом поле появляется строка как она есть, БЕЗ перевода строки.
То есть видим:

строка1\nСтрока2

Воткнул в строчку вместо \n - %0A, перевод заработал, но остался вопрос - отчего бы это? Все мыслимые манипуляции с ткстовым полем вроде перепробовал...

iNils 08.09.2009 14:02

\n - в AS компилируется в один символ. А в txt, коим является xml, это два отдельных символа "\" и "n".
Писать в атрибутах сложные данные не рекомендую. Весь подобный текст стоит помещать в cdata.

dark256 08.09.2009 14:10

Принцип ясен! Спасибо!


Часовой пояс GMT +4, время: 19:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.