Динамический текст Flash не может обрабатывать теги HTML

У меня есть флэш-фильм, который читает его источник из XML-документа, используя простую функцию:

nav_text.text = navText;

с nav_text в качестве экземпляра динамического текста (с выбранным текстом рендеринга как HTML) и navText в качестве определенной переменной.

В документе XML, если я напишу

    <navigation
         text="Please use the arrows either side of the picture to navigate through this slide show."
        />

Затем фильм SWF отображает текст в точности так, как написано. Тем не менее, если документ XML записывается как:

 <navigation
         text="<i>Please use the arrows either side of the picture to navigate through this slide show.</i>"
        />

Затем SWF просто отображает "неопределенный" в текстовом поле.

Есть идеи, что я могу делать не так?

2 ответа

Решение

Ваша проблема в том, что вы используете теги HTML в своем атрибуте XML (<i> а также </i> в navigation.text), которые интерпретируются как разметка XML, и поэтому вы ничего не получите, потому что синтаксический анализ данных XML нарушен. Поэтому, чтобы избежать этой проблемы, вы должны экранировать эти теги, используя HTML-сущности (имя или номер):

  • <i> => &lt;i&gt; или же &#60;i&#62;,
  • </i> => &lt;/i&gt; или же &#60;/i&#62;,

Это для атрибутов XML, для элементов XML, вы можете использовать CDATA.

Затем, после загрузки XML-данных, вы можете сделать:

text_field.html = true;
text_field.htmlText = your_xml_data;

Надеюсь, что это может помочь.

Странно, что он отображается как неопределенный, но, возможно, попробуйте свойство htmlText вместо текста?

http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001601.html

Другие вопросы по тегам