Ir para conteúdo
Fórum Script Brasil

BRN Souza

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que BRN Souza postou

  1. Estranho..... Assim como pro Jonathan, pra mim os códigos são exatamente iguais nos dois arquivos. Inclusive, pra escrever o arquivo "FeedSemErro.asp", eu abri o "FeedComErro.asp" no Firefox, copiei o código fonte do xml retornado, e colei na íntegra no "FeedSemErro.asp". Os códigos são exatamente os mesmos. O que eu acho que pode ser é o seguinte: 1 'Instancia o objeto XMLDOM 2 Set objXML = Server.CreateObject("MSXML2.DOMDocument.4.0") 3 'Indicamos que o download em segundo plano não é permitido 4 objXML.async = false 5 6 'O método loadXML carrega parte do código, sem ter o documento XML 7 objXML.loadXML(strXML) Na linha 2 onde eu instancio o MSXML2.DOMDocument.4.0 na memória do servidor web, eu não informo o charset com o qual eu quero que isso aconteça. Eu acho que a informação do charset e do codepage usados no cabeçalho do arquivo asp serverm somente para a saída do que será escrito no arquivo e enviado para o cliente, mas não vale para a instância do XML que coloco na memória com o MSXML2.DOMDocument.4.0 . Eu procurei na net uma maneira de configurar o charset do MSXML2.DOMDocument.4.0 quando eu o instanciasse, mas não achei. Por isso não pude testar essa teoria (que como teoria, não sei se estaria certa). Pessoal, continuo aguardando uma luz, e valeu pela força até aqui.
  2. Criei um arquivo ASP que lê um feed xml (no meu exemplo o do G1), e escreve exatamente o mesmo código XML lido na página. O problema é que o XML escrito pelo ASP não consegue ser interpretado corretamente pelo Internet Explorer. Ele acusa erro em um nó que contém uma palavra com ACENTO ("Notícias"). O problema é que se você pegar o código fonte do XML gerado e que o Internet Explorer acusa erro, copiar seu conteúdo, salvar em um arquivo XML e abrir no Internet Explorer ele lê. Ou seja, o mesmo código quando gerado pelo ASP dá erro, mas se você copiar o código gerado, colar em um arquivo e abrir no IE, funciona. Porque isso? Links dos arquivos: ASP gerando o XML (e dando erro): http://www.brninternet.com/testes/feedComErro.asp Código colado na mão (funcionando): http://www.brninternet.com/testes/feedSemErro.asp Segue abaixo o código da minha página ASP que gera o XML. <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <%Option Explicit%> <%Response.ContentType="application/xml"%> <%Response.Charset="ISO-8859-1"%> <% function getStrXml(url) 'Esta sub retorna a string do XML lido Dim objSrvHTTP, strXML, objXML, raiz, i, channel, itens '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", url, 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 end if 'Destruíndo os objetos Set objXML = Nothing Set objSrvHTTP = Nothing getStrXml = strXML end function Response.Write(getStrXml("http://g1.globo.com/Rss2/0,,AS0-5597,00.xml")) %>
×
×
  • Criar Novo...