Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Esta é apenas parte do conteúdo do arquivo xml que será consumido neste exemplo . Note que ele possui três camadas : A primeira é representada pela tag <catalog> e representa a coleção inteira de cds. No segundo nível temos a tag <CD> que representa um CD de todo o catálogo. As outras tags internas a a tag CD representam os dados do CD e formam a terceira camada deste exemplo. A compreensão dessa estruturação se faz necessária para entender o exemplo como um todo.

 

Para verificar o conteúdo completo do xml clique neste link.

Carregando o conteúdo do xml para uma variável javascript.

O próximo passo é carregar o conteúdo desse xml para uma variável javascript . Para isso faremos a carga de alguns objetos java para conseguirmos carregar o xml (funções do pacote java.net.URL).

Bloco de código
languagejava
titleCarregando documento
firstline0
linenumberstrue
var url = new java.net.URL("http://www.w3schools.com/xml/cd_catalog.xml");
var connection = url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "text/plain");
if (connection.getResponseCode() != 200) {
	throw "Failed : HTTP error code : " + connection.getResponseCode();
}
var br = new java.io.BufferedReader(new java.io.InputStreamReader(connection.getInputStream()));

O código acima ir carregar para variável br o conteúdo do xml provindo do endereço www.w3schools.com/xml/cd_catalog.xml . Note que existem tratamentos para situações aonde não foi possivel carregar o documento (getResponseCode() != 200) . Atente-se a esses tratamentos para retornar uma mensagem de erro amigável para o usuário dependo do momento e local aonde esta técnica é utilizada . Antes de mandarmos para o parser javascript teremos que fazer alguns tratamentos e este será o nosso próximo passo.

Removendo informações desnecessárias para o parser xml javascript.

Antes de enviarmos para o parser será necessário remover algumas tags ou informações que não são aceitas pelo parser xml do javascript. Abaixo temos uma demonstração do bloco que remove esses itens em nosso xml de exemplo.

Bloco de código
languagejava
titleCarregando documento
firstline0
linenumberstrue
var result = "";
while ((output = br.readLine()) != null) {
	// Removendo cabeçalhos e comentários iniciais do xml exemplo
	if (output.indexOf("<?") > -1 || output.indexOf("<!") > -1) {
		continue;
	}
		result += output;
}

Com o código acima acabamos de remover linhas que começam com "<?" e "<!" que não são aceitas pelo parser xml e que não fazem parte da estrutura relevante de dados do xml. Neste caso por coincidência estaremos removendo as duas primeira linhas do arquivo xml :

 <?xml version="1.0" encoding="UTF-8"?> 

<!-- Edited by XMLSpy --> 

Neste exemplo tivemos esses dois elementos que foram removidos para que o xml fosse aceito pelo parser xml. Mas em alguns xml alguns elementos deverão ser tratados antes de serem submetidos ao parser. Atenção especial a documentos xml que contenham a tag <class> Essa tag não poderá ter propriedades instanciadas internamente. Ex: <class size="10"> . Em casos como este deverá ser feito um tratamento removendo essas propriedades para que seja possível converter o xml da resposta da url em um documento xml javascript válido . 


 

 

Exemplo de Nota

Informações
titleNota

Insere Nota

...