PDA

Просмотр полной версии : [AS 2.0] Преобразование символов <> в XML...


Sneg
14.04.2006, 20:47
Добрый день. В XML нельзя использовать символы <> (CD-DATA не в счет), приходится заменять их на gt; и lt; - выглядит очень некрасиво. Хотелось бы узнать, не сущесвуют ли классы-парсеры строк, которым даешь на съедение String и он проебразует всю строчку заменяя к примеру скобки [] на <>. Самому писать нет смысла - если уже есть написаные, с большей функциональностью и удобством. Буду благодарен за названия. Спасибо.

KUZEN
15.04.2006, 00:58
А собственно чем CDATA не устраивает и ничего писать не нужно, да и работать будет быстрее, а то пока этот парсер все свои дела сделает ...

Sneg
16.04.2006, 12:24
Значения всяких текстовых сообщений заданы как атрибут, т.е. приметрно такого вида:

<error num="1100" value="В данный момент доступен поиск только по транзакции."/>

И использовать здесь CDATA не получается, вот и приходится искать другие пути с классами-парсерами.

Den0k
16.04.2006, 12:50
а может обойти парсер и использовать onLoad вместо onData, парсить самому как надо?

Sneg
16.04.2006, 13:08
Мне кажется в данном случает, более проще будет задать последовательность "ключевых" символов,которые класс парсер будет заменять на < и >, & и т.д. И при присваивании имени текстовому полю давать на съедение классу парсеру:

someTextFiled.htmlText=ClassParser.parse(some_text)

Den0k
16.04.2006, 13:18
мне идея токого финта ушами не нравится, восстанавливать символы кодированием

7thsky™
16.04.2006, 14:09
var parsedAttribute = xml.attributes.value.split ('[').join ('<').split (']').join ('>');

Dendroid
16.04.2006, 14:56
Ну пусть сам флэш и конвертит (он-то точно знает какие символы ему надо заменять):

var doc:XML = new XML();
var textNode1:XMLNode = doc.createTextNode(this.text);
r_txt.text = textNode1.toString();
:)

Sneg
16.04.2006, 15:33
Спасибо ребят за ответы :-)