Форум 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)
-   -   html теги внутри xml (http://www.flasher.ru/forum/showthread.php?t=130288)

_shpion_ 22.09.2009 17:36

html теги внутри xml
 
Добрый день.

Не могу решить проблему, нужно работать с данными xml, представляющими из себя html-форматированный текст:
Код:

<news>
<new date="01.01.2009" text="текст1<br>текст2" />
<new date="02.01.2009" text="текст3" />
</news>

при обработке этого xml-файла flash спотыкается, говорит данных нет (items=0).

Подскажите, как заменять теги и потом их парсить в TextField.htmlText

Спасибо.

Добавлено через 7 минут
долго искал и все никак, а тут ввел запрос и опа - решение:
Код AS1/AS2:

var tex:String = "Куча текста, и некоторые символы нужно выделить [p]жирным[/p] стилем";
var1 = tex.split("[");
tex = var1.join("<");
 
var2 = tex.split("]");
tex = var2.join(">");

конечно же, не p-тиги, а b-теги

mooncar 22.09.2009 17:50

А если будут настоящие символы [ и ] ?
Лучше взять другой символ или даже лучше группу символов. За нас их уже придумали - писать для них настоящие HTML-эквиваленты, которые с & начинаются.

Посмотрите здесь.
В таблице - сразу наверху.

_shpion_ 22.09.2009 18:19

эту то таблицу я и искал (начал с &lt; и &qt;)
спасибо :yahoo:

MoHaX 22.09.2009 20:59

Вообще то в спецификации XML для таких задач используется CDATA

Код AS3:

<news>
<new date="01.01.2009">
 <![CDATA[
 "текст1<br>текст2"
 ]]>
</new>
<new date="01.02.2009">
 <![CDATA[
 "текст1<br>текст3"
 ]]>
</new>
</news>


_shpion_ 10.11.2009 18:56

Таки есть проблемы:
Код:

<data image="1.png" image2="2.png" image3="3.png" tooltip=" " content="123" />
понадобилось заформатить данные из content
куда вписывать CDATA ?
А то либо не парсится, если CDATA пишу внутри контейнера data, либо контейнер не обрабатывается, если его обрамляю с помощью CDATA.

и как адресовать форматированный текст из предыдущего поста "текст1<br>текст2" ?
хотел сделать что-то типа
Код:

<data image="1.png" image2="2.png" image3="3.png" tooltip=" " content="123">КУЧА ТЕКСТА с CDATA</data>
Спасибо.

amexdesign 11.11.2009 01:25

Цитата:

А то либо не парсится, если CDATA пишу внутри контейнера data, либо контейнер не обрабатывается, если его обрамляю с помощью CDATA.
то, что вы имеете здесь:
Код AS1/AS2:

<data image="1.png" image2="2.png" image3="3.png" tooltip=" " content="123" />

называются аттрибуты. Аттрибуты в XML не поддаются html форматированию. Только так:
Код AS1/AS2:

<data image="1.png" image2="2.png" image3="3.png" tooltip=" " content="123"><![CDATA[КУЧА ТЕКСТА с CDATA]]></data>


_shpion_ 11.11.2009 14:19

то, что атрибуты не поддерживают html-форматирование, это я понял
а как адресовать текст внутри контейнера "<![CDATA[КУЧА ТЕКСТА с CDATA]]>" ?
.nodeValue не работает, т.к. написано "The node's value. This is text for text nodes and CDATA and null for elements."

amexdesign 11.11.2009 16:11

Код AS1/AS2:

myXML.firstChild.childNode[0].firstChild.nodeValue


_shpion_ 26.11.2009 17:20

amexdesign
Большое спасибо !


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

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