IBM
Dotstore
Canais iMasters

Linguagens

Sistema de notícias alimentado por Feeds

Vamos desenvolver um sistema de notícias em ASP, alimentado por Feeds, e um gerenciamento completo com as configurações de exibição das notícias e temas selecionados.

Verifique o código abaixo, comentado:


<%
' Script ASP Para leitura de arquivos de RSS.
url = "http://www.euquerotrabalharnogoogle.com/feed/" 'Aqui vai o endereço do arquivo RSS, ou do arquivo "gerador"

' Criando Objeto XML
Set objXML = Server.CreateObject("msxml2.DOMDocument.3.0")
objXML.async = false
objXML.setProperty "ServerHTTPRequest", True

' Não validar o arquivo
objXML.validateOnParse = false 

' Retirar espaços
objXML.preserveWhiteSpace = false

blnLoaded = objXML.Load(url)


'Condição caso não tenha notícias no RSS
If Not blnLoaded Then

  Response.write "Nenhuma notícia na fonte!"
Else

 set objNodeList = objXML.getElementsByTagName("channel")


 For Each objNode In objNodeList
  For Each objNode2 In objNode.childNodes


  Select Case objNode2.nodeName
  
Case "title"
   'Define Propriedades do Titulo
 html = html &"<tr class='texto'><td><b>"
   html = html &objNode2.firstChild.nodevalue
   html = html &"</b></td></tr>"
  
Case "link"
'Define Propriedades do link  
   html = html &"<tr class='texto'><td><a target=_blank href="& objNode2.firstChild.nodevalue &">"
   html = html & objNode2.firstChild.nodevalue
   html = html &"</a></td></tr>"
  
Case "description" 
'Está desabilitado para exibir apenas os links
   html = html &"<tr class='texto'><td><i>"
   html = html & objNode2.firstChild.nodevalue
   html = html &"</i></td></tr>"
  End Select
  Next
 Next

 html = html &"<tr><td><hr></td></tr>"

 Set objNodeList = objXML.getElementsByTagName("item")
 
contador = 0
For Each objNode In objNodeList

'Definindo quantidade de notícias que será exibida
  if contador < 5 then
  contador = contador + 1

For Each objNode2 In objNode.childNodes

     Select Case objNode2.nodeName
      Case "title"
        strTitle = objNode2.firstChild.nodevalue
      Case "link"
       strURL = objNode2.firstChild.nodevalue
      Case "description"
        strDescription = objNode2.firstChild.nodevalue
      End Select

  Next
   
   html = html &"<tr class='texto'><td><li/><b><a target=_blank href="& strURL &">"& strTitle &"</a></b><br>"& strDescription &"</td></tr>"
  strTitle = ""
  strURL = ""
  strDescription = ""
End if 
 
 Next
 
'Variável onde gardamos o conteúdo do RSS
 html = "<table>"& html &"</table>"
 set objNodeList = Nothing
End if
%>
<html>
<head>
<style type="text/css">
<!--
.texto {
font-family: Verdana;
font-size: 11px;
color: #000000;
}
-->
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
 <td>
<span class="texto">
  
<%
'Exibindo notícias do RSS escolhido
Response.write (html)
%>
</span>
 </td>
</tr>
</table>
</body>
</html>

Vejam o resultado final:

Exemplo das notícias

Vocês podem alterar o FEED para sua necessiade. No caso, eu utilizei o do nosso amigo que quer trabalhar no Google, mas fiquem a vontade. Simples né?

Qualquer dúvida entre em contato comigo deixando um comentário.

Abraços e bom proveito!


Comente também

13 Comentários

Edson Arantes Junior
Edson Arantes Junior

esse msm recurso poderia ser feito em php?

a tempos q procuro na net em php e não axo

Alexandre de Luccia
Alexandre de Luccia

Basta adaptar para linguagem. Boa sorte!

Renato Martins
Renato Martins

eu tentei utilizar os Feeds do Imasters pelo seu código, mas não deu...
ta dando um erro sinistro!

Alexandre de Luccia
Alexandre de Luccia

Incompatibilidade, vou verificar isso e vou postar aqui, obrigado pelo aviso!

Renato Martins
Renato Martins

é só você personalizar o Feed do Imasters q funciona!!
cria um personalizado e coloca o endereço completo.
;D
vlws!

Wilker Campos
Wilker Campos

Ai, gostei muito das suas duas matérias, gostaria que você postasse alguma matéria sobre mural de recados ou fórum, preciso muito.
Obrigado!

Alexandre de Luccia
Alexandre de Luccia

Wilker Campos, pode deixar, vou prepar a próxima com esse tema, até o fim deste mês publico com certeza! Novamente agradeço o elogio!

Alexandre de Luccia
Alexandre de Luccia

Existe um no código livre, veja nesse link: http://www.codigolivre.com.br/abrefontes.php?codid=754&lingid=1&catid=186

Alexandre de Luccia
Alexandre de Luccia

Existe um no código livre, veja nesse link: http://www.codigolivre.com.br/abrefontes.php?codid=754&lingid=1&catid=186

João Nunes Rios
João Nunes Rios

Alexandre, funcionou malemá... Teve algumas vezes que deu certo, mas na maioria das vezes deu o erro de objeto esperado [object] na linha strDescription = objNode2.firstChild.nodevalue.

Será que tem a ver com o IIS? Valeu e parabéns pelos artigos

Marcio Valerio
Marcio Valerio

Amigo, preciso de uma ajuda sua.
Tenho uma aplicação de cadastro de chamados que está dando um erro na hora da inclusão no banco de dados ACCESS.
Detalhe: isso sempre funcionou. Agora está dando um erro apenas na hora de incluir que eu não estou conseguindo desvendar. O erro é o seguinte:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

/index.asp, line 133

============================================
A rotina:

<% Set conexao = Server.CreateObject("ADODB.Connection") %>

<% conexao.open "chamado","","" %>

<% set executar = conexao.execute("Insert into logsite (ip, data, pagina) VALUES ('" &ipcliente & "', '" &datalog& "', '" &pagina& "' ) ")%>

<% conexao.close %>

============================================
Agradeço muito quem puder me ajudar.
Marcio Valerio

Giordano Alves
Giordano Alves

Quano rodei o script deu a seguinte menssagem:

CS1012: Too many characters in character literal

Patricia
Patricia

Como fazer com que a data seja exibida em portugues?

Qual a sua opinião?

Comentários considerados ofensivos serão moderados.

Parceiros

IBM
PagSeguro
Internet Innovation
Dialhost
HostNet
Tecla
KingHost
DotStore
Dinamize