Ir para conteúdo

POWERED BY:

Arquivado

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

Patrique

[Resolvido] descrição signos

Recommended Posts

Fala ae pessoal, tudo tranquilo!

 

Venho mais uma vez pedir a ajuda dos amigos, estou com um probleminha aqui em resgatar uma descrição de um rss que trás infos de signos, neste caso do signo libra.

 

Montei uma estrutura simples para pegar a parte que apenas me interessa neste rss, estou pegando estes resultados do rss oferecido pelo site estrelaguia

 

A url é esta http://www.estrelaguia.com.br/feed/rss/horoscopo/libra/ e ela trás o seguinte resultado

 

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="2.0">
<channel><title>EG Libra - Horóscopo Diário</title><link>http://www.estrelaguia.com.br/horoscopo/libra/</link>
<description>Seu horóscopo diário</description><language>pt-br</language><item><title>EG Libra - Horóscopo Diário - 31/05/2009</title><link>http://www.estrelaguia.com.br/horoscopo/diario/libra/</link>
<guid>http://www.estrelaguia.com.br/horoscopo/diario/libra/</guid><pubDate>Sun, 31 May 2009 00:00:00 -0300</pubDate><description>Existe a tendência para que você se interiorize mais neste domingo, e o ideal seria fazer desta interiorização a possibilidade de entrar em contato com as suas aspirações mais profundas e desenvolver a espiritualidade. De nada vai adiantar se isolar ou ficar pessimista, pois uma nova fase está começando e o que passou deverá ficar para trás. É preciso elaborar estratégias para esse novo tempo.






(Para ver o resto do horóscopo <a href='http://www.estrelaguia.com.br/horoscopo/libra/'>clique aqui</a>.)</description></item></channel></rss>

note que tem 2 tags chamadas de "description" a primeira trás o seguinte resultado dentro dela

 

<description>Seu horóscopo diário</description>

a segunda que é a parte que eu preciso trás o seguinte resultado

 

<description>Existe a tendência para que você se interiorize mais neste domingo, e o ideal seria fazer desta interiorização a possibilidade de entrar em contato com as suas aspirações mais profundas e desenvolver a espiritualidade. De nada vai adiantar se isolar ou ficar pessimista, pois uma nova fase está começando e o que passou deverá ficar para trás. É preciso elaborar estratégias para esse novo tempo.






(Para ver o resto do horóscopo <a href='http://www.estrelaguia.com.br/horoscopo/libra/'>clique aqui</a>.))</description>

Estou utilizando XmlDOM para resgatar e montar os resultados meu code esta assim

 

<%
set xmlSignos = createObject("MSXML2.DOMDocument")

On Error Resume Next

	xmlSignos.async = False
	xmlSignos.setProperty "ServerHTTPRequest", true
	xmlSignos.load("http://www.estrelaguia.com.br/feed/rss/horoscopo/libra/")

	Signo = xmlSignos.selectSingleNode("//description").Text
	
	Response.Write(signo)

	If Err Then
	   Response.write("descricao do signo não encontrada")
	   Err.Clear
	End If
%>

 

Porém como no rss do outro site tem 2 tags chamadas "description" meu code esta pegando os dados que estão na primeira tags, mais eu preciso que ele pegue o resultado da segunda.

 

Como eu posso fazer isso? como eu posso consertar?

 

Desde já agradeço,

Patrique André

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora sim você tem um problema. Sugiro ao invés de acessar pelo nome, você acessar pela posição.

 

Obs. Não precisa utilizar On Error Resume Next, o componente permite tratar o erro ao ler o arquivo. Ex.

<%
Set xmlSignos = Server.CreateObject("MSXML2.DOMDocument")

xmlSignos.async = False
xmlSignos.setProperty "ServerHTTPRequest", true
xmlSignos.load("http://www.estrelaguia.com.br/feed/rss/horoscopo/libra/")

If (xmlSignos.ParseError <> 0) Then
   Response.write("descricao do signo não encontrada")
Else
	Signo = xmlSignos.selectSingleNode("//description").Text1
	Response.Write(signo)
End If
Set xmlSignos = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá hargon, muito obrigado pela ajuda.

 

Tentei aqui e deu erro desta forma, apreceu o seguinte erro

 

Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A01B6)
O objeto não dá suporte para a propriedade ou método: 'xmlSignos.selectSingleNode(...).Text1'
/horoscopo/teste.asp, line 11

O erro acontece nesta linha

 

Signo = xmlSignos.selectSingleNode("//description").Text1

O que pode ser cara?

 

Desde já agradeço a atrenção dispensada.

 

[]'s

Patrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o link que citei no post anterior. Você deve acessar +- assim:

objLER.Item(i).Text

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, entendi Ted, não havia notado o Link, valew cara! vou tentar aqui.

 

Editado...

 

Prontinho, consegui!

 

<%
set xmlSignos = createObject("MSXML2.DOMDocument")

On Error Resume Next

	xmlSignos.async = False
	xmlSignos.setProperty "ServerHTTPRequest", true
	xmlSignos.load("http://www.estrelaguia.com.br/feed/rss/horoscopo/libra/")

	'Signo = xmlSignos.selectSingleNode("//description").Text

	Signo = xmlSignos.selectNodes("//description").item(1).Text
	
	'xmlSignos.Item(1).Text
	
	Response.Write(signo)

	If Err Then
	   Response.write("descricao do signo não encontrada")
	   Err.Clear
	End If
%>

Muito obrigado hargon! Tópico Resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom Patrique.

 

Opa, entendi Ted

¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew Hargon, só atualizando o code da maneira que você havia passado... ou seja sem o uso do On Error Resume Next

 

<%
Set xmlSignos = Server.CreateObject("MSXML2.DOMDocument")

	xmlSignos.async = False
	xmlSignos.setProperty "ServerHTTPRequest", true
	xmlSignos.load("http://www.estrelaguia.com.br/feed/rss/horoscopo/libra/")

	If (xmlSignos.ParseError <> 0) Then
		Response.write("descricao do signo não encontrada")
	Else
		Signo = xmlSignos.selectNodes("//description").item(1).Text
		Response.Write(Signo)
	End If

Set xmlSignos = Nothing
%>

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tb pode , por exemplo, fazer uma implementação para akeles k naun sabem o signo:

 

<%
Function signo(data)

d = day(data)
m = month(data)

if m=1 and d>20 or m=2 and d<19 then
signo="Aquário"
elseif m=2 and d>18 or m=3 and d<20 then
signo="Peixes"
elseif m=3 and d>19 or m=4 and d<21 then
signo="Áries"
elseif m=4 and d>20 or m=5 and d<21 then
signo="Touro"
elseif m=5 and d>20 or m=6 and d<21 then
signo="Gêmeos"
elseif m=6 and d>20 or m=7 and d<22 then
signo="Câncer"
elseif m=7 and d>21 or m=8 and d<23 then
signo="Leão"
elseif m=8 and d>22 or m=9 and d<23 then
signo="Virgem"
elseif m=9 and d>22 or m=10 and d<23 then
signo="Libra"
elseif m=10 and d>22 or m=11 and d<22 then
signo="Escorpião"
elseif m=11 and d>21 or m=12 and d<22 then
signo="Sagitário" 
elseif m=12 and d>21 or m=1 and d<22 then
signo="Capricórnio"
else signo="Data informada é inválida."
end if

end function

'Se a data não estiver em formato texto, use o CDATE() para converter em data.
data_nascimento="12/05/1982"

response.write signo(data_nascimento) 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, valew xan heheheh ja tinha este script rsrsrsrsrs

 

Ae Ted, nossa..... que vacilo huahuauhauhuhauhauh uai... eu sabia que era o hargon... porém eu cismei com o nome ted... por causa da url que ele me passou ahuuhauhauhauhau viajei kkkkkkkkkk

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.