Ir para conteúdo

POWERED BY:

Arquivado

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

JoaoGusmao

Realizar busca dentro de um arquivo XML remoto

Recommended Posts

Galera, preciso buscar um XML que está em outro servidor, e realizar uma busca para exibir os resultados referentes à palavra buscada.

Peguei um código na net e modifiquei. Não está funcionando.

Nada aparece. Nem erro.

Código:

<%
'SETO O CAMINHO PARA O BANCO
'path = Server.MapPath("http://URLDOXML")
PalavraBusca = request.form("pesquisa")



		'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", "http://URLDOXML", 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
		path = objSrvHTTP.ResponseXML.xml

Set objXML = Server.CreateObject("MSXML2.DOMdocument.4.0")
objXML.async = false
objXML.loadXML(strXML)

'response.write path

'SE O ARQUIVO EXISTIR
'If objSrvHTTP(path) Then  
'EU SETO AS PROPRIEDADES PARA ENTENDER O XPATH 

Set raiz = objXML.documentElement

objXML.setProperty "SelectionLanguage", "XPath"

'acBusca É A VARIAVEL QUE RECEBE A STRING QUE VAMOS PROCURAR NO ARQUIVO XML, NESSE CASO A PALAVRA CARLOS.
'EU COLOQUEI ELA COM ESPACOS NO COMEÇO E NO FIM PARA NÃO ACHAR PALAVRAS COMO "UZCARLOSA" O.o
acBusca= chr(32)&PalavraBusca&chr(32)

response.write acbusca
'AGORA DEFINIMOS A NOSSA XPATH CAMINHANDO ENTRE OS NODES DO ARQUIVO XML
'VAMOS EXCLUIR DA SELEÇÃO OS RESULTADOS QUE NÃO POSSUAM NO TEXTO A NOSSA VARIÁVEL
Dim xpath
 xpath = "ofertas/oferta/titulo[titulo!=contains(concat(' ',text(),' '),'"&acBusca&"')]"


'AQUI PARA QUEM SABE XML E ASP NÃO TEM PROBLEMA
 For Each campo in objXML.selectNodes(xpath) 
   Response.Write "titulo" & VbCrLf
   Response.Write campo.ChildNodes.Item(1).Text &"<br>"& VbCrLf  
 Next
'Else   
'  Response.Write doc.parseError.reason   
'End If 
%>

 

Alguém pode ver o que tá errado ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a endereço que você esta usando para URLDOXML

você esta deixando comentado o

'path = Server.MapPath("http://URLDOXML")

e no open o que esta vindo pra você ?

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.