Flash / XML разрывы и скрытые символы - PullRequest
0 голосов
/ 17 марта 2009

У меня возникла эта проблема, когда при редактировании моего xml все в следующей строке отображает две строки перегиба

<![CDATA[Line one
Line two
Line three
]]>

Отображается во флэш-памяти как

Line One

Line Two

Line Three

Теперь я исследовал это раньше, и это имело какое-то отношение к скрытым символам перегиба, я использую Flexbuilder и или Aptana для редактирования XML, но как мне избежать двух разрывов, когда мне нужен один.

Ответы [ 2 ]

1 голос
/ 17 марта 2009

Flash интерпретирует и \r, и \n как символы новой строки. Если ваш ввод содержит окончание строки Windows (\r\n), то вы увидите пустую строку в выводе.

Чтобы решить вашу проблему, используйте следующее регулярное выражение для замены двух последовательных вхождений \r и \n на одно перед выводом данных.

var newline:RegExp = /\r\n|\n\r/g;
var input:String = "your XML CDATA input";
var output:String = input.replace(newline, "\n");

На самом деле маловероятно, что \n\r когда-либо произойдет, но, поскольку мы уже выполняем замену, мы также можем исправить эти неверные окончания строк.

0 голосов
/ 17 марта 2009

Возможно, вы вставляете неправильные символы конца строки. Обычно вы выбираете: cr-lf, cr и lf. Первый хорошо работает на Windows, второй на Mac, третий на большинстве версий Unix. Попробуйте настроить редактор на использование lf (\ n).

...