Ir para conteúdo

POWERED BY:

Arquivado

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

wBB

XML grande, acesso lento

Recommended Posts

Olá,

Tenho que ler um arquivo XML muito grande em VBScript ou ASP, e atualmente tenho feito isso por meio do Microsoft XMLDOM. Só que fica muito lenta a busca por informações devido à grande quantidade de registros que o arquivo possui. Se alguém conhece, estou acessando o arquivo XML do serviço "Clima tempo" do Terra, que contém informações de todos os estados brasileiros, separados por cidades.

 

Alguém sabe como posso fazer para melhorar o desempenho da busca por uma determinada informação de uma determinada cidade?

 

O XML "Clima Tempo" tem o seguinte formato (coloquei apenas um pequeno trecho do arquivo):

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<weather>
  <region name="Acre" local="national">
	  <city name="Acrelândia">
	  <day1 date="07/02/2008" low="23" high="30" prob="80" quant="10" condition="Chuvoso" icon="5" /> 
	  <day2 date="08/02/2008" low="21" high="32" prob="70" quant="05" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day3 date="09/02/2008" low="22" high="33" prob="70" quant="10" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day4 date="10/02/2008" low="23" high="33" prob="70" quant="15" condition="Sol, nuvens e chuva" icon="4" /> 
	  </city>
	  <city name="Assis Brasil">
	  <day1 date="07/02/2008" low="21" high="28" prob="80" quant="10" condition="Chuvoso" icon="5" /> 
	  <day2 date="08/02/2008" low="19" high="30" prob="70" quant="05" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day3 date="09/02/2008" low="20" high="31" prob="70" quant="10" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day4 date="10/02/2008" low="21" high="31" prob="70" quant="15" condition="Sol, nuvens e chuva" icon="4" /> 
	  </city>
	  <city name="Brasiléia">
	  <day1 date="07/02/2008" low="22" high="29" prob="80" quant="10" condition="Chuvoso" icon="5" /> 
	  <day2 date="08/02/2008" low="20" high="31" prob="70" quant="05" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day3 date="09/02/2008" low="21" high="32" prob="70" quant="10" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day4 date="10/02/2008" low="22" high="32" prob="70" quant="15" condition="Sol, nuvens e chuva" icon="4" /> 
	  </city>
	  <city name="Bujari">
	  <day1 date="07/02/2008" low="23" high="30" prob="80" quant="10" condition="Chuvoso" icon="5" /> 
	  <day2 date="08/02/2008" low="21" high="32" prob="70" quant="05" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day3 date="09/02/2008" low="22" high="33" prob="70" quant="10" condition="Sol, nuvens e chuva" icon="4" /> 
	  <day4 date="10/02/2008" low="23" high="33" prob="70" quant="15" condition="Sol, nuvens e chuva" icon="4" /> 
	  </city>
  </region>
</weather>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, desculpe, não quero parecer mal educado, mas se você não pretende responder a questão colocada, então não responda outras coisas que não tem relação com o assunto. Isso acaba inibindo outras pessoas de acessarem o tópico pelo simples fato de já ter obtido uma ou mais respostas.

 

Além disso você está mal informado, pois eu pago este serviço para o site Terra e eles disponibilizam periodicamente um arquivo de aproximadamente 3Mb com atualizações de muitas cidades do país todo.

 

OBS.: Por favor não vamos prolongar mais este tópico com assuntos inúteis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mal informado nao... você nao falou qual origem da fonte

o que mais tem na net sao sites ensinando pegar dados xml de outros sites

 

ate pq meu post foi justamente nao afirmativo e sim pra você responder

ate pq tb sei como era a estrurura de dados pois participei de um projeto que tinha parceria antiga com eles

 

sem mais delongas ne

 

 

posta como você ta fazendo a consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao falou qual origem da fonte

...estou acessando o arquivo XML do serviço "Clima tempo" do Terra...

O código é basicamente isso (estou usando VBScript):

 

Set rssXML = CreateObject("Microsoft.XMLDOM") 
rssXML.async = False

If rssXML.Load("bigplan.xml") Then

	lowrSP = ""
	highSP = ""
	iconSP = 0
	
	TEMP_MIN = "Min. "
	TEMP_MAX = "Max. "
	GRAUS = "° C"

	TOTAL_SP = 0	

	Set REGIAO = rssXML.documentElement
	TOTAL_REGIAO = REGIAO.childNodes.length	
	
	For i = 0 To (TOTAL_REGIAO - 1)
		NOME_REGIAO = Cstr(REGIAO.CHILDNODES.ITEM(i).getAttribute("name"))
	
		Select Case NOME_REGIAO

		case "São Paulo"
			set CIDADE = REGIAO.childNodes.item(i).childNodes
			TOTAL_CIDADE = CIDADE.length
			For j = 0 to (TOTAL_CIDADE - 1)
				NOME_CIDADE = Cstr(CIDADE.item(j).getAttribute("name"))
				Select Case NOME_CIDADE
					case "São Paulo"
						set TEMPO = CIDADE.item(j).getElementsByTagName("day1") 
						lowrSP = TEMP_MIN & Cstr(TEMPO.item(0).getAttribute("low")) & GRAUS
						highSP = TEMP_MAX & Cstr(TEMPO.item(0).getAttribute("high")) & GRAUS
						iconSP = Cstr(TEMPO.item(0).getAttribute("icon"))
						TOTAL_SP = TOTAL_SP + 1
						if TOTAL_SP = 4 then exit for
				End Select
			Next
			
		End Select
		
	Next ' Next For
	
end if

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.