..:: MX Studio Fóruns ::..: configuração de texto no XML [RESOLVIDO] - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

configuração de texto no XML [RESOLVIDO] usando Action Script

#1 User is offline   tralalajr 

  • Group: Membros
  • Posts: 29
  • Joined: 25-April 08

Posted 12 November 2009 - 02:46 PM

Ola pessoal estou com um texto que esta sendo puxado de um arquivo XML pelo Action script. Mas tem parte do texto que queria que ficasse em Bold e outras palavras não. Tem como eu configurar no XML isso? ou seria melhor usar outra forma?

Abs
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 12 November 2009 - 03:19 PM

blz?

Que versão de AS você está usando? AS2, AS3?
Como está seu xml?

O flash consegue interpretar algumas tags html (não aceita todas!), ou até mesmo formatar seu texto com CSS externo.

No XML, se usar tags HTML, você pode usar a tag <b> no seu texto xml. Também terá que usar o CDATA do xml pra [encapsular] o conteúdo de texto e o xml não interpretar as tag de HTML como sendo uma tag de xml.

No Flash, ao invés de usar propriedade TextField.text, você terá que usar propriedade TextField.htmlText pra receber conteúdo com tags HTML.


Help Flash (tem exemplos lá)
AS3
http://help.adobe.com/en_US/AS3LCR/Flash_1...d.html#htmlText
http://help.adobe.com/en_US/AS3LCR/Flash_1...StyleSheet.html
AS2
http://help.adobe.com/en_US/AS2LCR/Flash_1...t=00001601.html
http://help.adobe.com/en_US/AS2LCR/Flash_1...t=00001563.html

XML CDATA, você vai ter que usar no xml pra encapsular seu texto e tags html usadas no xml.
http://www.w3schools.com/xml/xml_cdata.asp

Ex no xml com CDATA ficaria algo assim:
CÓDIGO
<tagXML><![CDATA[<b>Texto com negrito</b>. Texto sem negrito. ]]></tagXML>


Abraço.
0

#3 User is offline   tralalajr 

  • Group: Membros
  • Posts: 29
  • Joined: 25-April 08

Posted 12 November 2009 - 03:52 PM

Ola Rodrigo tudo bom? entao estou usando AS3 veja como esta o AS

CÓDIGO
var clippingLoader:URLLoader = new URLLoader();
var clippingRequest:URLRequest = new URLRequest ();
var imprensaXML:XML;
var tamanho:uint;

//EVENTO
clippingLoader.addEventListener(Event.COMPLETE, carregou);

// FUNÇÃO

    
}// fim da function escolher

function carregou (e:Event):void{
    imprensaXML= new XML (clippingLoader.data);
    tamanho=imprensaXML.*.length();
    
    
    for (var i:uint; i<tamanho; i++) {
        var manchete:String = imprensaXML.*[i].*[i];
        
        
        lista.addItem ({label:manchete});        
         
}// fim do FOR
    
}// fim da function CARREGOU


// Inicialização
clippingRequest.url = "imprensa.xml";
clippingLoader.load(clippingRequest);


e como estou usando o XML

CÓDIGO
<?xml version="1.0" encoding="utf-8"?>
<imprensa>
    <materia manchete="Surge a nova transa amazônica " jornal="Jornal O ESTADO DE S. PAULO" />
    <materia manchete="Dez indicações de nossos críticos " jornal="Jornal O ESTADO DE S. PAULO" />
    <materia manchete="Festa paulista na premiação da Première do Brasil " jornal="Jornal O ESTADO DE S. PAULO" />
    <materia manchete="`River Movie` leva a Première do Brasil de volta às fronteiras da Amazônia " jornal="Jornal O GLOBO" />
    <materia manchete="O Pará e sua autenticidade em filme " jornal="CINEMA ESCRITO" />
    <materia manchete="Noite de celebração e emoção " jornal="JORNAL DO BRASIL" />
    <materia manchete="Eliane Caffé exibe filme rodado no Pará " jornal="Blog HOLOFOTE VIRTUAL" />


</imprensa>


só com o que vc mandou do XML ja funciona? preciso alterar alguma coisa no AS? Pq testei e nao deu certo, eu mudei o jeito do XML colocando por nós e tbm nao deu certo pois ele apareceu <b> como se fosse texto.

como eu uso o CDATA com esta forma de XML?

e o que eu estou tentando é o seguinte. Quero que o que é carregado dentro da var manchete fique em negrito e o jornal não fique em negrito.

Abs


QUOTE(Rodrigo Pixel @ 12/11/2009 15:11:01) <{POST_SNAPBACK}>
blz?

Que versão de AS você está usando? AS2, AS3?
Como está seu xml?

O flash consegue interpretar algumas tags html (não aceita todas!), ou até mesmo formatar seu texto com CSS externo.

No XML, se usar tags HTML, você pode usar a tag <b> no seu texto xml. Também terá que usar o CDATA do xml pra [encapsular] o conteúdo de texto e o xml não interpretar as tag de HTML como sendo uma tag de xml.

No Flash, ao invés de usar propriedade TextField.text, você terá que usar propriedade TextField.htmlText pra receber conteúdo com tags HTML.


Help Flash (tem exemplos lá)
AS3
http://help.adobe.com/en_US/AS3LCR/Flash_1...d.html#htmlText
http://help.adobe.com/en_US/AS3LCR/Flash_1...StyleSheet.html
AS2
http://help.adobe.com/en_US/AS2LCR/Flash_1...t=00001601.html
http://help.adobe.com/en_US/AS2LCR/Flash_1...t=00001563.html

XML CDATA, você vai ter que usar no xml pra encapsular seu texto e tags html usadas no xml.
http://www.w3schools.com/xml/xml_cdata.asp

Ex no xml com CDATA ficaria algo assim:
CÓDIGO
<tagXML><![CDATA[<b>Texto com negrito</b>. Texto sem negrito. ]]></tagXML>


Abraço.


0

#4 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 12 November 2009 - 05:06 PM

Pelo que entendi do código você está cadastrando os valores em um componente. Isso?
No momento não conheço sobre alterar estilos de conteúdo em componentes, mas já vi que dá pra alterar propriedades de estilos de um componente.

Talvez com a classe StyleManager AS3 você consegue algo pra componentes. Na net você deve achar outros exemplos com essa classe.
http://help.adobe.com/pt_BR/AS3LCR/Flash_1...yleManager.html

Outro exemplo, mas é pra flashmx:
http://www.prof2000.pt/users/ibarbosa/flas...mponents46.html



Mas mesmo assim, caso ache útil, segue um exemplo do seu do seu xml e umas das maneiras como poderia ser se fosse carregado o conteúdo xml com formatação html em um textfield no flash.

Seu xml ficaria algo assim:
Repare que todo conteúdo de texto deve estar em tags xml e não em atributos. Deve usar CDATA, e só assim usar outras tags html que o flash suporta pra formatar o texto.
CÓDIGO
<?xml version="1.0" encoding="utf-8"?>
<imprensa>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO<br>]]></jornal>
    </materia>
</imprensa>


No flash, inserindo código no 1º frame:
CÓDIGO
var clippingLoader:URLLoader = new URLLoader();
var clippingRequest:URLRequest = new URLRequest ();
var imprensaXML:XML;

var quantidadeXml:uint; //quantidade do nós xml
var manchete:String; //conteudo manchete
var jornal:String; //conteudo jornal
var listaTexto:Array = []; //cadastra lista pra fazer loop de texto

var textoTxt:TextField = new TextField(); //txt que rcebe conteudo do xml
textoTxt.autoSize = TextFieldAutoSize.LEFT; //automatizar tamanho da caixa de texto
textoTxt.multiline = true; //aceitar mais de uma linha
addChild(textoTxt); //adiciona texto no stage


// Inicialização
clippingRequest.url = "imprensa.xml";
clippingLoader.load(clippingRequest);


//EVENTO
clippingLoader.addEventListener(Event.COMPLETE, carregouXml);


// FUNÇÃO

function carregouXml (e:Event):void
{
    trace("carregou xml")

    imprensaXML = new XML (clippingLoader.data);
    quantidadeXml = imprensaXML.materia.length();
    
    trace(quantidadeXml)
    
    //lista pra mostrar no textfield
    for (var i:uint=0; i<quantidadeXml; i++)
    {
        //valores do xml
        manchete = imprensaXML.materia[i].manchete;
        jornal = imprensaXML.materia[i].jornal;
        
        //cadastra valores em um array
        listaTexto.push(manchete);
        listaTexto.push(jornal);
    }
    
    //loop pra cadstrar texto em sequencia
    //de acordo com quantidade itens no array
    for (var j:uint=0; j<listaTexto.length; j++)
    {
        //mostra conteudo no txt
        textoTxt.htmlText += listaTexto[j] +"<br>";
    }
    trace(listaTexto.length);
}


Isso mostra e lista todo conteúdo do xml, em um textField com devida formatação.

Você pode usar css também caso achar útil:
http://www.mxstudio.com.br/flash/utilizando_css_com_flash/

Outro exemplos sobre xml e AS3
http://www.alvoweb.com/xml-externo-com-as3/

Abraço.
0

#5 User is offline   tralalajr 

  • Group: Membros
  • Posts: 29
  • Joined: 25-April 08

Posted 13 November 2009 - 05:50 PM

Cara muito obrigado

Antes eu estava usando o component List, mas não estava achando uma forma de colocar a manchete em cima do jornal e tbm quando colocava Bold ficava nos dois. Agora deu certo obrigadao.

Só preciso dar um jeito de mudar a fonte do texto carregado e cada texto ser um link. Vou fuçar por aqui e qualquer coisa eu grito.

Obrigado

Abs



QUOTE(Rodrigo Pixel @ 12/11/2009 17:11:55) <{POST_SNAPBACK}>
Pelo que entendi do código você está cadastrando os valores em um componente. Isso?
No momento não conheço sobre alterar estilos de conteúdo em componentes, mas já vi que dá pra alterar propriedades de estilos de um componente.

Talvez com a classe StyleManager AS3 você consegue algo pra componentes. Na net você deve achar outros exemplos com essa classe.
http://help.adobe.com/pt_BR/AS3LCR/Flash_1...yleManager.html

Outro exemplo, mas é pra flashmx:
http://www.prof2000.pt/users/ibarbosa/flas...mponents46.html



Mas mesmo assim, caso ache útil, segue um exemplo do seu do seu xml e umas das maneiras como poderia ser se fosse carregado o conteúdo xml com formatação html em um textfield no flash.

Seu xml ficaria algo assim:
Repare que todo conteúdo de texto deve estar em tags xml e não em atributos. Deve usar CDATA, e só assim usar outras tags html que o flash suporta pra formatar o texto.
CÓDIGO
<?xml version="1.0" encoding="utf-8"?>
<imprensa>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO</b>]]></jornal>
    </materia>
    <materia>
        <manchete><![CDATA[Surge a nova transa amazônica]]></manchete>
        <jornal><![CDATA[<b>Jornal O ESTADO DE S. PAULO<br>]]></jornal>
    </materia>
</imprensa>


No flash, inserindo código no 1º frame:
CÓDIGO
var clippingLoader:URLLoader = new URLLoader();
var clippingRequest:URLRequest = new URLRequest ();
var imprensaXML:XML;

var quantidadeXml:uint; //quantidade do nós xml
var manchete:String; //conteudo manchete
var jornal:String; //conteudo jornal
var listaTexto:Array = []; //cadastra lista pra fazer loop de texto

var textoTxt:TextField = new TextField(); //txt que rcebe conteudo do xml
textoTxt.autoSize = TextFieldAutoSize.LEFT; //automatizar tamanho da caixa de texto
textoTxt.multiline = true; //aceitar mais de uma linha
addChild(textoTxt); //adiciona texto no stage


// Inicialização
clippingRequest.url = "imprensa.xml";
clippingLoader.load(clippingRequest);


//EVENTO
clippingLoader.addEventListener(Event.COMPLETE, carregouXml);


// FUNÇÃO

function carregouXml (e:Event):void
{
    trace("carregou xml")

    imprensaXML = new XML (clippingLoader.data);
    quantidadeXml = imprensaXML.materia.length();
    
    trace(quantidadeXml)
    
    //lista pra mostrar no textfield
    for (var i:uint=0; i<quantidadeXml; i++)
    {
        //valores do xml
        manchete = imprensaXML.materia[i].manchete;
        jornal = imprensaXML.materia[i].jornal;
        
        //cadastra valores em um array
        listaTexto.push(manchete);
        listaTexto.push(jornal);
    }
    
    //loop pra cadstrar texto em sequencia
    //de acordo com quantidade itens no array
    for (var j:uint=0; j<listaTexto.length; j++)
    {
        //mostra conteudo no txt
        textoTxt.htmlText += listaTexto[j] +"<br>";
    }
    trace(listaTexto.length);
}


Isso mostra e lista todo conteúdo do xml, em um textField com devida formatação.

Você pode usar css também caso achar útil:
http://www.mxstudio.com.br/flash/utilizando_css_com_flash/

Outro exemplos sobre xml e AS3
http://www.alvoweb.com/xml-externo-com-as3/

Abraço.


0

#6 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 13 November 2009 - 06:52 PM

QUOTE(tralalajr @ 13/11/2009 17:11:27) <{POST_SNAPBACK}>
Só preciso dar um jeito de mudar a fonte do texto carregado e cada texto ser um link.


Opa, legal que funcionou. alegre.gif

É só inserir tags HTML pra link e fonte dentro do CDATA, e também usar tags HTML que o Flash Player suporta.
http://help.adobe.com/en_US/AS3LCR/Flash_1...d.html#htmlText

Ex usando link e mudando fonte de texto:
CÓDIGO
<materia>
    <manchete><![CDATA[<a href='http://...seulink'>seu texto com link</a>]]></manchete>
    <jornal><![CDATA[<font face='verdana'>seu texto com verdana</font>]]></jornal>
</materia>


Além de usar tag html pra formatar texto html, tem outras maneiras de formatar texto no flash. Algumas delas:

Pode criar StyleSheet e aplicar estilos nessas tags html usadas, com classe StyleSheet.
http://help.adobe.com/en_US/AS3LCR/Flash_1...StyleSheet.html

Pode usar classe TextFormat e métodos TextField.setTextFormat(), ou propriedade TextField.defaultTextFormat. Depois de criado o estilo e aplicado o texto, você aplica a formatação.
http://help.adobe.com/en_US/AS3LCR/Flash_1...TextFormat.html
http://help.adobe.com/en_US/AS3LCR/Flash_1...extFormat%28%29
http://help.adobe.com/en_US/AS3LCR/Flash_1...faultTextFormat

Também usar o embedFonts (técnicas usada pro flash importar a fonte vinda da library e usar a fonte sem o usuário precisar ter a fonte instalada). Indicado caso sua fonte for muito diferente do normal.
http://help.adobe.com/en_US/AS3LCR/Flash_1...html#embedFonts
http://help.adobe.com/en_US/AS3LCR/Flash_1.../text/Font.html

Ex. embedfonts:
http://sara-intop.blogspot.com/2007/10/emb...3using-as3.html

Abraço.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse

  Topic Forum Started By Stats Last Post Info
New Replies "Duvidas com Script"
Meu script em ASP não funciona
Repositório de Códigos 100Nick 
  • 6 Replies
  • 2578 Views
New Replies menu pop-up aparecendo em baixo do texto da layer
Como faço pra aparecer por cima do texto
Dreamweaver webroger 
  • 2 Replies
  • 1853 Views
*New Replies No script cheap Erythromycin -Erythromycin Italia Notícias Guest_inetryconydot_* 
  • 0 Replies
  • 38 Views
New Replies JavaScript+PHP
Integrando Tecnologia JS+PHP
PHP charlestech 
  • 5 Replies
  • 1325 Views
New Replies como inserir botão em busca
Busca em JavaScript
Javascript / AJAX / DHTML Rapha Designer 
  • 2 Replies
  • 1102 Views
New Replies Procuro Programador ActionScript/Flash e PHP
Necessitamos de programadores WEB
Mercado / Vagas rodrigo_schramm 
  • 2 Replies
  • 1300 Views
New Replies Programa exporta textos e e-mails para celulares..
WNews
Notícias TiTi Celestino 
  • 0 Replies
  • 347 Views
New Replies Novo blog sobre Action Script e Internet em gera. Confira.
AS3, AS2, php, coldfusion, xml, flash, flex, e muito mais.
RIA Beraldi 
  • 1 Reply
  • 1410 Views

Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)