PDA

Просмотр полной версии : XML и html теги в Flash


Dezar
24.01.2010, 00:05
здравствуйте.
возникла проблема.
есть xml в котором есть код.
такого вида
<img src="1085.jpg" border="0">

в нтмл коде это выглядит так

<![CDATA[<img src="1085.jpg" border="0">]]>


я подгружаю xml с помощью стандартной процедуры

var xml_r:XML = new XML();
xml_r.ignoreWhite = true;
xml_r.onLoad = function(success) {
//тут еще куча кода
_root.dost_t = String(aNode.firstChild);
}

xml_r.load("xml/");



после чего я переменную вывожу в динамическое поле


t.html = true;
t.htmlText = _root.dost_t;


результат в текстовом поле не картинка , а сами теги <img src="1085.jpg" border="0">

как вывести туда рисунок???
причем если я вручную пишу например:


t.html = true;
t.htmlText = '<img src="1085.jpg" border="0">';


все работает.

udaaff
24.01.2010, 00:12
t.htmlText = _root.dost_t.firstChild.nodeValue;
или может:
t.htmlText = _root.dost_t.nodeValue;
одно из двух.

Dezar
24.01.2010, 00:16
нет.вы не поняли)
я там просто не весь код указал.извиняюсь.
переменная _root.dost_t на момент присвоения к динамическому полю имеет значение <img src="1085.jpg" border="0">.
но.в коде trace все выглядит странно.


е.html = true;
trace(_root.dost_t)
trace выводит такое &lt;img src=&quot;1085.jpg&quot; border=&quot;0&quot;&gt;


он знаки почему-то сам заменяет.может в этом и есть все дело?
как избежать такого

udaaff
24.01.2010, 00:27
Понял, понял :)
А вы не попробовали сделать, то что я вам написал, видимо.
Вам нужно в текстовое поле присваивать значение текстового узла, а не узел.
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xml_onLoadHandler;
xml.load("http://resurection.ru/skmoscow.ru/xml/");

function xml_onLoadHandler(success:Boolean):Void
{
t.html = true;
t.htmlText = xml.firstChild.childNodes[2].firstChild.nodeValue;
}

Dezar
24.01.2010, 00:34
то что вы написали я запускал.но выдало только undefined
сейчас попробую новое

Добавлено через 13 минут
последнии вариант так же не помог.
все равно пишет чистый тэг

udaaff
24.01.2010, 00:52
то что вы написали я запускал.но выдало только undefined
сейчас попробую новое

Добавлено через 13 минут
последнии вариант так же не помог.
все равно пишет чистый тэг

У меня картинка показывается.

Dezar
24.01.2010, 01:04
да.если взять ваш код в чистом виде.у меня тоже картинка появилась.
что странно.но когда я ее втыкаю в свои код..появляется undefined.
но с этим я разберусь.то есть причина в том, что я беру в переменную значение узла?

udaaff
24.01.2010, 01:13
что я беру в переменную значение узла?
Не значение узла берете, а узел.
Т.е.:
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xml_onLoadHandler;
xml.load("http://resurection.ru/skmoscow.ru/xml/");

function xml_onLoadHandler(success:Boolean):Void
{
t.html = true;
t.htmlText = xml.firstChild.childNodes[2].firstChild;
trace(xml.firstChild.childNodes[2].firstChild);
// &lt;img src=&quot;http://content.fot... и т.д.
}

Dezar
24.01.2010, 01:14
большое спасибо.
помогли)