Ir para conteúdo

POWERED BY:

Arquivado

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

eronventer

[Resolvido] AS3 + XML Problema no carregamento

Recommended Posts

Ae galera!!

 

Estou ficando completamente maluco...esotu tentando carregar uma lista de cidades conforme o estado selecionado,

porém existem estados na qual o flash me exibe um erro, já em outros carrega normalmente...

 

O erro informado é: TypeError: Error #1088: A marcação no documento após o elemento raiz deve ser bem-formada.

 

O XML está perfeito não contem erros, não existe palavras com acentuação e ainda sim o problema persiste...

O que pode ser isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Se uns ele carrega normalmente e outros não, creio que o problema só pode ser no xml...

 

verifica se não tem nenhum elemento aberto sem fechar, ou nos atributos, alguma aspas sem fechar... enfim, algo deve ter

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu ja verifiquei o XML de cabo a rabo, estado por estado e todos tem as tags fechadas, nenhuma palavra

contem acento ou qualquer caracter especial....inclusive o xml carregado é o mesmo que usávamos na versão do

AS2, e é só no AS3 está acontecendo este problema....

 

var mcsCidades:Array = new Array();
mcsCidades = [];

function carregaCidades(uf:String):void
{
	var xmlLoader:URLLoader = new URLLoader();
	xmlLoader.addEventListener(Event.COMPLETE, loadXML);
	xmlLoader.load(new URLRequest(Global.obj['dominio']+'_php/xml_cidadesdoestado.php?estado='+uf));

	function loadXML(e:Event):void
	{
		var xmlData:XML = new XML(e.target.data);
		xmlData.ignoreWhitespace = true;

		parseXML(xmlData);
	}

	function parseXML(cidades:XML):void
	{
		var listaCidades:XMLList = cidades.cidade;

		Global.obj['totalCidades'] = listaCidades.length();
		Global.obj['arrCidades'] = listaCidades;
		
		bt_seta.buttonMode = true;
		bt_seta.enabled = true;
		bt_seta.addEventListener(MouseEvent.CLICK, abreJanela);

		MovieClip(parent).t5.text = "";

		montaCidades();
	}
}

function montaCidades():void
{
	var posY:Number = 0;
	var linhas:Number = Global.obj['totalCidades'];

	if (mcsCidades.length > 0)
	{
		for (var c:int = 0; c<mcsCidades.length; c++)
		{
			cidades.todos.removeChild(mcsCidades[c]);
		}
	}

	for (var i:int=0; i<linhas; i++)
	{
		var mc:MovieClip = new minhaCidade();
		cidades.todos.addChild(mc);

		mcsCidades.push(mc);

		mc.name = "cid_" + i;
		mc.instanceName = "cid_" + i;

		mc.y = posY;
		posY += 18;

		mc.acidade = Global.obj['arrCidades'][i].nome;
		mc.idcidade = Global.obj['arrCidades'][i].id;

		mc.cidade.text = Global.obj['arrCidades'][i].nome;

		mc.addEventListener(MouseEvent.MOUSE_OVER, over);
		mc.addEventListener(MouseEvent.MOUSE_OUT, out);
		mc.addEventListener(MouseEvent.CLICK, seleciona);
	}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz uns testes aqui, mudando algumas coisinhas pra adaptar ao seu código, e não deu erro no xml mesmo. A unica mudanca mais importante que fiz foi que que zerei o mcsCidades apos retirar os mcs do palco. O resto foi so mudar umas variaveis e comentar o que nao era necessario pra mim.

 

Da uma olhada no arquivo (obviamente nao esta arrumado, mas vale pra testar o carregamento do xml):

 

http://www.4shared.com/file/212995525/f8700e4c/xml.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Michel, o erro a principio estava em apenas uma linha de código...

Tirei do código a linha: System.useCodePage = true e funcionou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom =)

 

por isso é bom sempre postar o codigo inteiro quando tiver duvidas, e nao somente uma parte...

 

[]s

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.