Ir para conteúdo

POWERED BY:

Arquivado

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

Luis Barbosa

xml_parser

Recommended Posts

Intão, to precisando de um xml_parser, mais só acho para baixar.. eu preciso do código mesmo =/

 

vo dar uma explicada... eu tenho um xml.. tipo:

<posicao>
		<id_posicao>12</id_posicao>
			<id_midia>645/id_midia>
		<id_exibicao>4886860</id_exibicao>
		<tipo_midia>image</tipo_midia>
		</posicao>

		<posicao>
		<id_posicao>7</id_posicao>
		<id_midia>29</id_midia>
		<id_exibicao>4886861</id_exibicao>
		<tipo_midia>calhau_image</tipo_midia>
		</posicao>
e eu preciso transformar em variaveis... tipo id_posicao = 12

id_midia = 645.... e assim por diante... eu tenho um parser em php, mais tem que ser em asp... só que em php tem as funções todas prontas.. + nao achei em asp =/

 

o php pra vcs tmb...

function parse_xml_banner($texto) {
	   $this->p = xml_parser_create();
	   xml_parser_set_option($this->p, XML_OPTION_CASE_FOLDING, 0);
	   xml_parser_set_option($this->p, XML_OPTION_SKIP_WHITE, 1);
	   xml_parse_into_struct($this->p, $texto, $vals, $index);
	   xml_parser_free($this->p);
	   $this->traduz_info($vals,$index);
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luis Barbosa é de contra as regas pedir ajudar REGRAS

 

 

olha esse exemplo: é mais complexo mais roda, pegue a parte do visualizar e o arquivo .xsl

http://forum.imasters.com.br/index.php?showtopic=230209

 

 

ou adapta aqui esse leitor:

http://forum.imasters.com.br/index.php?showtopic=175837

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted, desculpe ae.. eu tinha lido as regras, mais parece q as interpretei mal...

pensei que no titulo nao podia tipo apenas tópicos como Me ajude, etc... que nao davam a ninguem a idéia de qual seria o problema. eu coloquei no meu mais eu dei pelo menos uma dica de onde eu precisava ajuda "xml_parser" ...

+ de qq forma me desculpe... vo dar uma olhada nesses links e depois dou um retorno.. brigadão.. abraço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

fica tranquilo com o lance das regras, sou moderador e minha função é "moderar", veja ai os links, como você me falou, não entende muito de ASP, mais a lógica não pode ficar a desejar!!

 

veja ai e poste depois o resultado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Intão ted... eu dei uma olhada e talz..

no seu você utiliza microsoft.xmldom, e o tal do load neh...

o problema é que no meu estou usando o Microsoft.XMLHTTP

queria saber c me baseando no seu e usando XMLHTTP daria para fazer também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim daria, a diferença é que no Microsoft.XMLHTTP você usar URL ou local tbm, a depender, e no .xmldom você só usa local

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, eu to tentando fazer aqui, eu acabei fazendo 2 funções 1 com o seu xmldom e 1 com o http... ve se tem como me dar umas dicas ae, vlw !

 

function post(host,porta,path,query)
set objHttp=server.createobject("microsoft.xmldom") 
  objHttp.load(server.mappath("post.xml"))  
  set raiz=objHttp.documentElement	 
 objHttp.async = false
 objHttp.loadxml (envia())
end function

function envia()
set objHttp = Server.CreateObject("microsoft.XMLHTTP")
objHttp.open "POST" ,"http://adm.br.admovil.com.br/servidor/index.php?id_pagina=4", false
objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHttp.setRequestHeader "Content-length:" , len(query)
objHttp.Send ()
envia=objHttp.responseXML.xml
'response.write (envia)
end function

Bom, dando um SET antes do envia=objHttp.responseXML parece que resolve meu erro.. vo tentar completar o código e posto aqui =)

c tiver dicas eu aceito :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ups, esqueci do código... vo postar aqui....

ele pega um post, volta um xml parseado...

 

Function post(host,porta,path,query)

set objHttp = Server.CreateObject("Microsoft.XMLHTTP")


	
	objHttp.open "POST" ,URL, false
	objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
		objHttp.setRequestHeader "Content-length:" , len(query)
	objHttp.setRequestHeader "Connection", "close"
 	objHttp.Send query
	   	strResponseTxt = trim(objHttp.responseText)
	Set objHTTP = nothing

 Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0")
	 xmlDOM.async = false
	 xmlDOM.LoadXml(strResponseTxt)

	 Set RSSItems = xmlDOM.getElementsByTagName("posicao") ' collect all "items" from downloaded RSS

	 Set xmlDOM = Nothing ' clear XML

	 RSSItemsCount = RSSItems.Length-1

	 ' writing Header
	 if RSSItemsCount > 0 then
	  Response.Write styleTop
	 End If

	 j = 0

	 For i = 0 To RSSItemsCount
		 set RSSItem = RSSItems.Item(i)

		  for each child in RSSItem.childNodes
			   Select case lcase(child.nodeName)

				  case "id_posicao"
					   RSSid_posicao = child.text
				  case "id_midia"
					   RSSid_midia = child.text
				  case "id_exibicao"
					   RSSid_exibicao = child.text
				  case "tipo_midia"
					   RSStipo_midia = child.text
				  case "texto_ad"
					   RSStexto_ad = child.text
				  case "texto_alt"
					   RSStexto_alt = child.text
				  case "arq_midia"
					   RSSarq_midia = child.text
				  case "altura"
					   RSSaltura = child.text
				  case "largura"
					   RSSlargura = child.text
			   End Select

' 			  Response.Write("id_posicao=")					   esses prints é apenas para testar se esta parseado ou nao
' 			  Response.Write(RSSid_posicao)
' 			  Response.Write("<br>")
' 			  Response.Write("id_midia=")
' 			  Response.Write(RSSid_midia)
' 			  Response.Write("<br>")
' 			  Response.Write("id_exibicao=")
' 			  Response.Write(RSSid_exibicao)
' 			  Response.Write("<br>")
' 			  Response.Write("tipo_midia=")
' 			  Response.Write(RSStipo_midia)
' 			  Response.Write("<br>")
' 			  Response.Write("texto_ad=")
' 			  Response.Write(RSStexto_ad)
' 			  Response.Write("<br>")
' 			  Response.Write("texto_alt=")
' 			  Response.Write(RSStexto_alt)
' 			  Response.Write("<br>")
' 			  Response.Write("arq_midia=")
' 			  Response.Write(RSSarq_midia)
' 			  Response.Write("<br>")
' 			  Response.Write("altura=")
' 			  Response.Write(RSSaltura)
' 			  Response.Write("<br>")
' 			  Response.Write("largura=")
' 			  Response.Write(RSSlargura)
' 			  Response.Write("<br><br><br>")
		  next

		  j = j + 1

		  if cint(j) <= cint(RSSItemsCount) then
			  ItemContent = Replace(styleBody,"{id_posicao}",RSSid_posicao)
			  ItemContent = Replace(ItemContent,"{id_midia}",RSSid_midia)
			  ItemContent = Replace(ItemContent,"{id_exibicao}",RSSid_exibicao)
			  ItemContent = Replace(ItemContent,"{tipo_midia}",RSStipo_midia)
			  ItemContent = Replace(ItemContent,"{texto_ad}",RSStexto_ad)
			  ItemContent = Replace(ItemContent,"{texto_alt}",RSStexto_alt)
			  ItemContent = Replace(ItemContent,"{arq_midia}",RSSarq_midia)
			  ItemContent = Replace(ItemContent,"{altura}",RSSaltura)
			  ItemContent = Replace(ItemContent,"{largura}",RSSlargura)

			  Response.Write ItemContent
			  ItemContent = ""
		  End if
	 Next

	 ' writing Footer
	 if RSSItemsCount > 0 then
		Response.Write styleTail
	 else
		Response.Write ErrorMessage
	 End If



post = strResponseTxt

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

como é ótimo ensinar a pescar do quer dar o peixe, parabéns mesmo!!!!

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.