Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andrezza

[Resolvido] quebra de linha e xml

Recommended Posts

Boa noite!

Estou com um problema de quebra de linha com um texto que vem de um xml.

Já procurei no forum e testei algumas soluções, mas nada funcionou.

O que chegou mais perto foi usar <BR/>, mas até dá a quebra de linha, só que no lugar aparecem 2 vírgulas.

 

Esse é o XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<galeria>
<foto imagem="feminina/fem33.jpg" legenda="Anna Paula Heiderscheidt" descricao="" adicional="Farmacêutica" fotografo="Fernando Oliveira">030.01.00253 Camisa<BR/>060.01.00637 Bolsa carteira</foto>
</foto>
</galeria>

E o texto no swf aparece assim:

 

030.01.00253 Camisa ,

,060.01.00637 Bolsa carteira

 

Não sei de onde aparece essas vírgulas...

Alguém já passou por isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual seu código por favor do AS

E eu recomendo se for usar códificações no XML usar o <[!CDATA[ ]]>

 

Assim limpa esse tipo de bobagem ai

 

Abraços

 

então... esse é o código

aqui eu chamo o xml:

System.useCodepage = true;// habilita acentos
var arquivo:XML = new XML();// declara a variavel para ler o XML
arquivo.load("xml/colFeminina.xml");// lê o arquivo.xml
arquivo.ignoreWhite = true;// ignora espaços em brancos no xml
arquivo.onLoad = function() {

.....
}

e aqui, em outro swf, atribuo o valor ao campo

referencia.html = true;
referencia.multiline = true;
referencia.htmlText = _level0.mcConteudo.alvo.arquivo.childNodes[0].childNodes[_root.fotoGrande].childNodes;

tentei também com CDATA, mas aí apareceu o <BR/>... :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

Flash

var texto:TextField = _root.createTextField('texto', 1, 0, 0, Stage.width, Stage.height);
texto.html = true;
texto.multiline = true;
texto.wordWrap = true;
System.useCodepage = true;
//Crio a variavel que chama o XML
var xml:XML = new XML();
//Ignoro os campos em branco caso tenha algum
xml.ignoreWhite = true;
//Carrego meu xml
xml.load('texto.xml');
//Ao carregar testo se ele carregou tudo certo ou não
xml.onLoad = function(ok){
    //se deu certo
    if(ok){
    //Pego o tamanho total do meu xml
    var total = xml.firstChild.childNodes.length;
    //Crio um for para popular a array
    for(var i:Number = 0; i < total; i++){
            trace(xml.firstChild.childNodes[i].firstChild.nodeValue);
            //Pego todos os dados do XML
            texto.htmlText = xml.firstChild.childNodes[i].firstChild.nodeValue;
        }
    }
    //Se deu erro digo que deu erro
    else {
        trace('deu erro');
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<valores>
<text><![CDATA[ Aqui é um exemplo de um texto <font color="#FF0000">com codificação <i>html</i></font><br> Aplicando algumas <b>tags</b> para testar]]></text>
</valores>

Com CDATA tem que usar firstChild.nodeValue para pegar o valor ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

Flash

var texto:TextField = _root.createTextField('texto', 1, 0, 0, Stage.width, Stage.height);
texto.html = true;
texto.multiline = true;
texto.wordWrap = true;
System.useCodepage = true;
//Crio a variavel que chama o XML
var xml:XML = new XML();
//Ignoro os campos em branco caso tenha algum
xml.ignoreWhite = true;
//Carrego meu xml
xml.load('texto.xml');
//Ao carregar testo se ele carregou tudo certo ou não
xml.onLoad = function(ok){
    //se deu certo
    if(ok){
    //Pego o tamanho total do meu xml
    var total = xml.firstChild.childNodes.length;
    //Crio um for para popular a array
    for(var i:Number = 0; i < total; i++){
            trace(xml.firstChild.childNodes[i].firstChild.nodeValue);
            //Pego todos os dados do XML
            texto.htmlText = xml.firstChild.childNodes[i].firstChild.nodeValue;
        }
    }
    //Se deu erro digo que deu erro
    else {
        trace('deu erro');
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<valores>
<text><![CDATA[ Aqui é um exemplo de um texto <font color="#FF0000">com codificação <i>html</i></font><br> Aplicando algumas <b>tags</b> para testar]]></text>
</valores>

Com CDATA tem que usar firstChild.nodeValue para pegar o valor ;)

 

Abraços

 

Agora sim, funcionou! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Muito obrigada pela ajuda... vou usar sempre assim - firstChild.nodeValue - a partir de agora, pra não dar mais problemas! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.