Ir para conteúdo

POWERED BY:

Arquivado

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

lowprofile

[Resolvido] [RSS] - Como definir o número de noticias para exibir

Recommended Posts

Fala pessoal,

 

 

 

Tenho uma página em ASP que exibe noticias de um portal de terceiros. Segue endereço: http://www.comunicatudo.com/rss/rss1.asp

Gostaria de saber se alguém pode me ajudar, definindo o código pra eu controlar o número de notícias a serem exibidas.

 

 

Segue o código caso interesse pra alguém utilizar.

Obs.: peguei na web.

 

<%
' Script ASP Para leitura de arquivos de RSS.
url = "http://www.propmark.com.br/publique/cgi/cgilua.exe/sys/start.xml?tpl=home" 
'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

	Next
  Next

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

  Set objNodeList = objXML.getElementsByTagName("item")
 
' response.Write(objNodeList)
   For Each objNode In objNodeList
	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><td><a target=_blank href="& strURL &"><span class='titulo_feed'>"& strTitle &"</span></a><br><a target=_blank href="& strURL &"><span class='txt12pb'>"& strDescription &"</span></a><hr class='hr_feed'></hr></td></tr>"
	strTitle = ""
	strURL = ""
	strDescription = ""
  Next
 'Variável onde gardamos o conteúdo do RSS
  html = "<table>"& html &"</table>"
  set objNodeList = Nothing
End if
%>
<html xmlns="undefined">
<head>
<link href="../inc/comunicatudo.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td><%
 'Exibindo notícias do RSS escolhido
 Response.write (html)
 %>
	  </span> </td>
  </tr>
</table>
</body>
</html>

 

Abs, Leo http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leo,

 

tomei a liberdade de alterar seu código. Estou usando aqui o XPath pra selecionar os nós XML do seu feeder RSS.

 

<%
url = "http://www.propmark.com.br/publique/cgi/cgilua.exe/sys/start.xml?tpl=home"

Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.preserveWhiteSpace = True
objXML.setProperty "ServerHTTPRequest", True
objXML.setProperty "SelectionLanguage", "XPath"

isLoaded = objXML.Load(url)
If Not isLoaded Then
	html = "Nenhuma notícia na fonte!"
Else
	Set objNodeList = objXML.selectNodes("rss/channel/item") 'Seleciona os itens do documento XML
	For i = 0 To 11 'Aqui é feita a restrição para os 12 primeiros itens do documento XML
		If i > (objNodeList.length -1) Then Exit For 'Interrompe o script caso o número de notícias seja menor que o limite especificado acima
		
		strTitle = objNodeList.item(i).selectSingleNode("title").text
		strURL = objNodeList.item(i).selectSingleNode("link").text
		strDescription = objNodeList.item(i).selectSingleNode("description").text
		html = html & "<tr><td><a target=_blank href="& strURL &"><span class='titulo_feed'>"& strTitle &"</span></a><br><a target=_blank href="& strURL &"><span class='txt12pb'>"& strDescription &"</span></a><hr class='hr_feed'></hr></td></tr>"
	Next
	Set objNodeList = Nothing
End If
%>
<html>
<head>
<link href="../inc/comunicatudo.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<%=html%>
</table>
</body>
</html>

Testei aqui no meu ambiente e está funcionando. Dá uma conferida aê!

 

Espero ter ajudado.

 

[]'z

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Willian e Ted K,

 

Funcionou perfeitamente segue o link: http://www.comunicatudo.com/rss/rss1.asp

 

Inclusive já incorporei no portal que estou finalizando e também rolou.

 

 

Obrigado pelo empenho em ajudar. Qdo eu tiver um tempinho vou tentar adaptar para o flash e depois publico aqui.

 

Abs, Leo

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito bom, e quando tiver achando que ñ tem solução cara ñ desistar sempre há pessoas que estão ai para mostra a você que a solução é você que cria!!!!!

 

Abraços!!!

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.