Ir para conteúdo

POWERED BY:

Arquivado

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

F-gos

flash + xml + css

Recommended Posts

Se você tem os conhecimentos basicos de As3 então vou lhe dizer as classes necessarias:

import flash.text.StyleSheet;
import flash.events.Event;
import flash.net.URLLoader;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

seu css:

var Css:URLRequest = new URLRequest("estilo.css");

o equivalente a essa linha:

style_sheet.onLoad = function(ok){

seria isso:

loader = new URLLoader();  
loader.addEventListener(Event.COMPLETE, funcaoCSS);  
loader.load(Css);/*variavel do estilo*/

function funcaoCSS(){
	_root.news_txt.text = meuXML;
}

Bem se quiser que funcione no Cs3, você pode definir o Flash como Actionscript2.0 tambem ae você pode usar o proprio AS do link:

http://forum.imasters.com.br/index.php?showtopic=40695

 

eu estou lhe passando isso pois não encontrei um "pronto", mas sabendo o basico de As3 não será dificil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala silverfox ....acabei seguindo a segunda opção que você passou a action do link.

 

Deu certo... mas alterou a visualização dos dados. Vou explicar. (sou iniciante em action).

 

estou usando essa action para exibir os dados do xml:

var oXML:XML = new XML();
oXML.ignoreWhite = true;
oXML.onLoad = function():Void{
   var rootNode:XMLNode = this.firstChild.childNodes[0];
   
	for(var i = 0; i < rootNode.childNodes.length; i++){
	  var nodeDados:XMLNode = rootNode.childNodes[i];
   
		for(var n = 0; n < nodeDados.childNodes.length; n++){
			   var nodeValue:String = nodeDados.childNodes[n].childNodes;
		 var nodeName:String = nodeDados.childNodes[n].nodeName;

   ddos.text += nodeName.toUpperCase() + ": " + nodeValue + "\n";
	  }
   

	ddos.text += "\n";

   }
}

oXML.load("representantes2.xml");

Ele esta exibindo os dados dessa forma:

 

EMPRESA: sp 1 nome empresa

CONTATO: nome contato

AREA: Marilia, Presidente Prudente e Araçatuba

EMAIL: email@.com.br

FONE: (19) 0000-0000

FAX:

MARCAS: marca 1, marca 2, marca 3

 

EMPRESA: sp 2 nome empresa

CONTATO: nome contato

AREA: Marilia, Presidente Prudente e Araçatuba

EMAIL: email@.com.br

FONE: (19) 0000-0000

FAX:

MARCAS: marca 1, marca 2, marca 3

 

....

 

normal é isso mesmo que quero.

 

Mas se eu acrescento a parte do CSS abaixo do : oXML.load("representantes2.xml");

////////////////////////////   style css  ///////////////////////////////////////

var style_sheet = new TextField.StyleSheet();
var css_url = "xml_style.css";

style_sheet.load(css_url);
style_sheet.onLoad = function(ok){
  if (ok) {

  oXML.onLoad = function(){
	_root.ddos.text = oXML
  }
  }
  ddos.styleSheet = style_sheet;
}

ele aparece o efeito css mas muda a forma de exibição:

 

sp 1 nome empresa

nome contatoMarilia, Presidente Prudente e Araçatubaemail@.com.br(19) 0000-0000

marca 1, marca 2, marca 3

sp 2 nome empresa

nome contatoMarilia, Presidente Prudente e Araçatuba email@.com.br (19) 0000-0000

marca 1, marca 2, marca 3

 

você sabe porque esta acontecendo isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites
[email="Araçatubaemail@.com.br(19"]Araçatuba[email="Araçatubaemail@.com.br"]email@.com.br[/email](19[/email])
isso me parece BBcode. Que sistema é este (a parte SERVER-SIDE)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara desculpa num ta aparecendo isso ai não ta aparecendo assim:

 

sp 2 nome empresa

nome contatoMarilia, Presidente Prudente e Araçatuba email@.com.br (19) 0000-0000

marca 1, marca 2, marca 3

sp 2 nome empresa

nome contatoMarilia, Presidente Prudente e Araçatuba email@.com.br (19) 0000-0000

marca 1, marca 2, marca 3

 

 

Perceba que perdeu a formatação de quebra de linha (ta tudo na mesma linha NOME -CONTATO - AREA - EMAIL - FONE)

e tbm não aparece + as tags do xml (EMPRESA: CONTATO: AREA: EMAIL: FONE:) como aparece no 1º exemplo sem o css.

 

era para aparecer assim:

 

EMPRESA: sp 2 nome empresa

CONTATO:nome contato

AREA: Marilia, Presidente Prudente e Araçatuba

EMAIL:email@.com.br

FONE:(19) 0000-0000

MARCA: marca 1, marca 2, marca 3

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perceba que perdeu a formatação de quebra de linha (ta tudo na mesma linha NOME -CONTATO - AREA - EMAIL - FONE)

Isso deve ter sido alguma definição no seu CSS. Você deve ter definido tudo em inline.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no css não é olh a estrutura dele:

 

empresa {

color: #CC3300;

font: Arial;

font-size: 12px;

font-weight: bold;

}

 

marcas {

color: #333333;

font: Arial;

font-weight: bold;

font-size: 11px;

}

 

ACESSA ESSE LINK AI PRA você VER: http://www.contin.com.br/exemplos/star/xml.html

 

o problema esta na action do flash porqu é la que defino a quebra de linha e que apareça as tags do xml em letra maiuscula antes da informação.

 

 

// Declarando o nosso objeto da classe XML
var oXML:XML = new XML();
// Ignorando espaços
oXML.ignoreWhite = true;
// Evento onLoad

oXML.onLoad = function():Void{
 
 
   
   var rootNode:XMLNode = this.firstChild.childNodes[0];
  
   for(var i = 0; i < rootNode.childNodes.length; i++){
	
	  var nodeDados:XMLNode = rootNode.childNodes[i];
   
	  // For denovo, desta vez para o filhos de <dados>
	  for(var n = 0; n < nodeDados.childNodes.length; n++){
	   
	/* Aqui eu preferi separar em 2 variáveis. Uma contém o valor do nó,
		 o que tem dentro dele, no caso, texto.
		 A outra contém o nome do nó, o nome da tag.*/
		 var nodeValue:String = nodeDados.childNodes[n].childNodes;
		 var nodeName:String = nodeDados.childNodes[n].nodeName;
		 
   /* Adicionamos os valores no campo de texto, dei um uppercase no nodeName pra
		 ficar bunitinho.*/
		 ddos.text += nodeName.toUpperCase() + ": " + nodeValue + "\n";
	  }
   
	  // Adicionamos uma quebra de linha para separar os valores de cada nó <dados>
	  ddos.text += "\n";

   }
}


////////////////////////////   style css  ///////////////////////////////////////

var style_sheet = new TextField.StyleSheet();
var css_url = "http://www.contin.com.br/exemplos/star/xml_style.css";

style_sheet.load(css_url);
style_sheet.onLoad = function(ok){
  if (ok) {
 
  oXML.onLoad = function(){
	_root.ddos.text = oXML
  }
  }
  ddos.styleSheet = style_sheet;
}

 

// Carregando documento XML
oXML.load("representantes2.xml");

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.