Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, to tentando pegar dados de um XML, só que alguns campos não mostram sempre, por exemplo:
na busca de CEP, existe CEP cadastrados com UF, Cidade e existe CEP que possui UF, Cidade, Bairro, Logradouro e etc. Acho que vocês entenderam né?!!!
O que acontece é que se eu deixar por padrão todos os dados possíveis, ele gera erro de Objeto necessário (Erro de tempo de execução do Microsoft VBScript). O que posso fazer pra saber se em um determinado CEP existe ou não esse bairro, logradouro ou qualquer outro campo que possa vir a ser exibido?????
Segue o código a baixo:
<%
Response.Charset="ISO-8859-1"
'Arquivo XML a ser consultado
cep = request.querystring("cep")
xml="http://www.xxxxxxx.com.br/?cep="&cep
'Instancia o objeto HttpRequest.
Set objSrvHTTP = Server.CreateObject("MSXML2.XMLHTTP.3.0")
'Informe o método e a URL a ser capturada
objSrvHTTP.open "GET", xml, false
'Com o método setRequestHeader informamos o cabeçalho HTTP
objSrvHTTP.setRequestHeader "Content-Type", "text/xml"
'O método Send envia a solicitação HTTP e exibe o conteúdo da página
objSrvHTTP.Send()
'Amazenamos o resultado na variável strXML
strXML = objSrvHTTP.ResponseXML.xml
'Instancia o objeto XMLDOM
Set objXML = Server.CreateObject("MSXML2.DOMDocument.4.0")
'Indicamos que o download em segundo plano não é permitido
objXML.async = false
'O método loadXML carrega parte do código, sem ter o documento XML
objXML.loadXML(strXML)
'Verifica possíveis erros com o método parseError
if objXML.ParseError.errorCode <> 0 then
response.write "Código do erro: " & objXML.parseError.errorCode & "<br>"
response.write "Posição no arquivo: " & objXML.parseError.filepos & "<br>"
response.write "Linha: " & objXML.parseError.line & "<br>"
response.write "Posição na linha: " & objXML.parseError.linepos & "<br>"
response.write "Descrição: " & objXML.parseError.reason & "<br>"
response.write "Texto que causa o erro: " & objXML.parseError.srcText & "<br>"
response.write "Url do arquivo com problemas: " & objXML.parseError.url
else
'Instancia o objeto documentElement para extrair os elementos
Set raiz = objXML.documentElement
'Looping para percorrer todos os elementos filhos
'A propriedade NodeName contém o nome do elemento
'A propriedade childNodes contém a lista de elementos filhos
response.write raiz.getElementsByTagName("uf")(0).text&", "
response.write raiz.getElementsByTagName("cidade")(0).text&" - "
response.write raiz.getElementsByTagName("bairro")(0).text
End If
'Destruíndo os objetos
Set objXML = Nothing
Set objSrvHTTP = Nothing
%>
Carregando comentários...