Foros del Web » Programación para mayores de 30 ;) » Programación General »

Proceso de recuperar un XML con ASP

Estas en el tema de Proceso de recuperar un XML con ASP en el foro de Programación General en Foros del Web. Hola a todos, creo que estoy liado. Tengo una aplicacion de central de reservas hotelera en ASP, ahora me permiten acceder a una base de ...
  #1 (permalink)  
Antiguo 19/11/2004, 03:26
 
Fecha de Ingreso: mayo-2002
Mensajes: 29
Antigüedad: 22 años
Puntos: 0
Proceso de recuperar un XML con ASP

Hola a todos, creo que estoy liado.
Tengo una aplicacion de central de reservas hotelera en ASP, ahora me permiten acceder a una base de datos de otra cadena hotelera con el protocolo XML, he realizado pruebas y al conectar el otro servidor me devuelve por pantalla un fichero de las fichas de los hoteles en formato XML, lo que quiero saber es como puedo leer ese fichero (sin que salga por pantalla), para poder incluirlo a mi base de datos de hoteles.
  #2 (permalink)  
Antiguo 28/11/2004, 15:47
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 5 meses
Puntos: 6
Hola chento,

Hace algún tiempo cree un post similar

http://www.forosdelweb.com/f14/recibir-enviar-info-xml-usando-asp-246332/

y aun no he recibido respuesta. Escribo aca para recibir notificaciones cuando alguien te escriba (si es que lo hacen).

Saludos y suerte...
  #3 (permalink)  
Antiguo 07/12/2004, 11:02
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
luisvazquez, dos cosas:

1º para recibir notificaciones de respuesta en tu email no es necesario que postees cualquier cosa en el post. En el menu Herramientas de este foro, tienes una opcion que es "subscribirse a este tema" y ya te llegaran las notificaciones de respuesta tambien a ti.

2º El tema de acceder con ASP para generar un XML o leer un XML ya esta resuelto en mas de un post de este foro. Teneis que usar el buscador antes de postear un mensaje.

Yo no puedo ayudaros ya que nunca he trabajado con ASP+XML. Lo siento. Pero vuestra respuesta esta a un golpe de busqueda en el buscador de los foros.

Un beso
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #4 (permalink)  
Antiguo 07/12/2004, 11:13
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 5 meses
Puntos: 6
Gracias...tomaré en cuenta tus consejos...

Aunque he buscado (tal vez no de la forma apropiada) respuestas a este problema en este foro y no las he encontrado...Alguien, fuera del foro, me está apoyando con esto y cuando esté listo os aseguro que postearé la solución.

Un abrazo
  #5 (permalink)  
Antiguo 09/12/2004, 10:59
Avatar de pelon  
Fecha de Ingreso: marzo-2001
Ubicación: Costa Rica
Mensajes: 260
Antigüedad: 23 años, 2 meses
Puntos: 0
hola pues bien yo ando con el mismo problema y no encontre respuesta en el foro, si alguien sabe donde esta agradeceria nos avice
__________________
===============
Pelon
  #6 (permalink)  
Antiguo 15/12/2004, 12:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 24
Antigüedad: 21 años, 6 meses
Puntos: 0
Este es una manera de leer un xml.
fichero.asp
Código:
Response.Write ("<html><head><title>Ejemplo fichero XML (RSS)</title>")
Response.Write ("</head><body>")
Dim objHTTP
Dim url
url= "http://www.forosdelweb.com/index.xml"
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
objHTTP.Open "POST", url, false
objHTTP.send()

Response.Write ("<h2>" & objHTTP.responseXml.SelectSingleNode("rss/channel/title").Text & "</h2>")
Response.Write ("<h3>" &  objHTTP.responseXml.SelectSingleNode("rss/channel/description").Text & "</h3>
For Each objItem in objHTTP.responseXML.SelectNodes("rss/channel/item")
Response.Write ("<p>")
 Response.Write ("<h5>" & objItem.SelectSingleNode("title").text & "</h5>")
 Response.Write (objItem.SelectSingleNode("description").text & "<br />")
 Response.Write ("<a href=""" & objItem.SelectSingleNode("link").Text & """>más...</a>")
 Response.Write ("</p>")
Next
Set objHTTP = Nothing
Response.Write ("</body></html>")
En este caso leemos el fichero xml (rss) de este mismo foro (con sus propios nodos). En la variable URL poner lo que corresponda.
Para grabar los datos en vez de visualizarlos: en el bucle for se haría un insert a la base de datos.

Respecto a luisvasquez:
creo que en el método send se pueden porner los datos que se envian al otro servidor. No he probado nada sobre esto.

Epero que os sirva. Un saludo.
  #7 (permalink)  
Antiguo 23/12/2004, 19:43
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 5 meses
Puntos: 6
Esta es la forma como logramos resolver nuestro caso...espero ayude a quien tenga un problema similar:

<%

Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")

' carga el XML que le es enviado...no está en un archivo...lo envian
' usando post
xmldoc.load(Request)

' Lo desglosa en objetos
set brandID = xmldoc.selectsingleNode ("//brandID")
set terminalid = xmldoc.selectSingleNode ("//terminalID")
set sour = xmldoc.selectSingleNode ("//source")
set destination = xmldoc.selectSingleNode ("//destination")
set keyword = xmldoc.selectSingleNode ("//keyword")
Set texto = xmldoc.selectSingleNode ("//parameters")
set extTxnID = xmldoc.selectSinglenode ("//extTxnID")

'Asigna el valor textual de los objetos a variables texto
dim Carrier,branID,User,mck,content,trans
Carrier = trim(brandID.text)
user = trim(sour.text)
mkc = trim(destination.text)
content = trim(texto.text)
trans = trim(extTxnID.text)


%>
  #8 (permalink)  
Antiguo 28/12/2004, 11:48
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
estoy ocupando el ejemplo de ponjos y me da error el codigo estará bien?
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #9 (permalink)  
Antiguo 28/01/2005, 08:51
 
Fecha de Ingreso: enero-2005
Mensajes: 140
Antigüedad: 19 años, 3 meses
Puntos: 0
Buenas ponjos, e utilizado tu ejemplo pero no me funciona , el problema es que , por lo que leo en tu mensaje , tu coges un archivo xml residente en la memoria del servidor.

Mi problema es que el archivo que debo leer yo es enviado mediante post a traves de flashmx, y no se como acceder a los datos que este contiene. me estoy volviendo loco y no encuentro nada que me sirva.

Un saludo.
  #10 (permalink)  
Antiguo 28/01/2005, 12:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 24
Antigüedad: 21 años, 6 meses
Puntos: 0
Parece demasiado obvio, pero ¿has leido el mensaje de luisvasquez? (2 atrás).

Saludos.
  #11 (permalink)  
Antiguo 20/03/2005, 22:45
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
sigo sin poder leer un XML a travez de un archivo asp si alguien logro hacer funcionar este ejemplo me ayude por favor
Gracias
Salu2
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #12 (permalink)  
Antiguo 22/03/2005, 05:48
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
Yo estoy en las mismas que dobled.

Os agradecería vuestra ayuda, pues el ejemplo de ponjos no me funciona, aun corrigiendo una doble comilla y un paréntesis que falta.
  #13 (permalink)  
Antiguo 23/03/2005, 08:43
 
Fecha de Ingreso: noviembre-2002
Mensajes: 24
Antigüedad: 21 años, 6 meses
Puntos: 0
¿Qué significa "no funciona"?

Mejor postea los errores que te da. Y bien por la corrección.
  #14 (permalink)  
Antiguo 23/03/2005, 10:10
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
A la página la llamo prueba.asp, y solo tiene esto:

Con este código:
Código:
<%
Response.Write ("<html><head><title>Ejemplo fichero XML (RSS)</title>")
Response.Write ("</head><body>")
Dim objHTTP
Dim url
url= "http://www.forosdelweb.com/index.xml"
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
objHTTP.Open "POST", url, false
objHTTP.send()

Response.Write ("<h2>" & objHTTP.responseXml.SelectSingleNode("rss/channel/title").Text & "</h2>")
Response.Write ("<h3>" &  objHTTP.responseXml.SelectSingleNode("rss/channel/description").Text & "</h3>")
For Each objItem in objHTTP.responseXML.SelectNodes("rss/channel/item")
Response.Write ("<p>")
 Response.Write ("<h5>" & objItem.SelectSingleNode("title").text & "</h5>")
 Response.Write (objItem.SelectSingleNode("description").text & "<br />")
 Response.Write ("<a href=""" & objItem.SelectSingleNode("link").Text & """>más...</a>")
 Response.Write ("</p>")
Next
Set objHTTP = Nothing
Response.Write ("</body></html>")
%>
Me da el típico error 500:
Hay un problema con la página solicitada y no puede ser mostrada..
Bla, bla, bla...
HTTP 500 - Error interno del servidor
Internet Explorer

Servidor Win 2003 IIS 6.0, y soporta XML 4.0 (http://www.brinkster.com/hosting/professional.aspx)
  #15 (permalink)  
Antiguo 23/03/2005, 10:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 24
Antigüedad: 21 años, 6 meses
Puntos: 0
Poco descriptivo ese error.
Prueba a cambiar
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
por
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
o
Set objHTTP = Server.CreateObject("MSXML2.XMLHTTP")
  #16 (permalink)  
Antiguo 23/03/2005, 10:38
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
De las otras dos formas ha funcionado correctamente.

Muchas gracias por tu amabilidad. Un saludo!
  #17 (permalink)  
Antiguo 29/03/2005, 23:39
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
ponjos, ahorita si que nos estamos entendiendo, problema resuelto gracias

veré en que lo puedo ocupar chauu
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #18 (permalink)  
Antiguo 19/01/2007, 03:49
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 19 años
Puntos: 1
Hola. He estado probando vuestro código y va perfecto con forosdelweb pero lo he intentado con una Web que tiene el RSS 2.0 y no me funciona. ¿Tiene algo que ver?

Saludos.
  #19 (permalink)  
Antiguo 22/01/2007, 04:34
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 19 años
Puntos: 1
Echarme una mano please. Seguro que es una tonteria pero no lo hago funcionar.
  #20 (permalink)  
Antiguo 28/02/2012, 03:58
 
Fecha de Ingreso: enero-2012
Mensajes: 19
Antigüedad: 12 años, 3 meses
Puntos: 0
Mensaje Respuesta: Proceso de recuperar un XML con ASP

Cita:
Iniciado por ponjos Ver Mensaje
Este es una manera de leer un xml.
fichero.asp
Código:
Response.Write ("<html><head><title>Ejemplo fichero XML (RSS)</title>")
Response.Write ("</head><body>")
Dim objHTTP
Dim url
url= "http://www.forosdelweb.com/index.xml"
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
objHTTP.Open "POST", url, false
objHTTP.send()

Response.Write ("<h2>" & objHTTP.responseXml.SelectSingleNode("rss/channel/title").Text & "</h2>")
Response.Write ("<h3>" &  objHTTP.responseXml.SelectSingleNode("rss/channel/description").Text & "</h3>
For Each objItem in objHTTP.responseXML.SelectNodes("rss/channel/item")
Response.Write ("<p>")
 Response.Write ("<h5>" & objItem.SelectSingleNode("title").text & "</h5>")
 Response.Write (objItem.SelectSingleNode("description").text & "<br />")
 Response.Write ("<a href=""" & objItem.SelectSingleNode("link").Text & """>más...</a>")
 Response.Write ("</p>")
Next
Set objHTTP = Nothing
Response.Write ("</body></html>")
En este caso leemos el fichero xml (rss) de este mismo foro (con sus propios nodos). En la variable URL poner lo que corresponda.
Para grabar los datos en vez de visualizarlos: en el bucle for se haría un insert a la base de datos.

Respecto a luisvasquez:
creo que en el método send se pueden porner los datos que se envian al otro servidor. No he probado nada sobre esto.

Epero que os sirva. Un saludo.
Gracias, ha sido muy util, pero como puedo leer el contenido de una etiqueta media:content ?
Os copio parte del XML de donde deseo sacarlo:
<item>
<title>Zapatos “Made by you”, ¿te animas?</title>
<link>
http://buscolook.wordpress.com/2012/02/23/disena-tus-propios-zapatos/
</link>
<comments>
http://buscolook.wordpress.com/2012/02/23/disena-tus-propios-zapatos/#comments
</comments>
<pubDate>Thu, 23 Feb 2012 07:31:06 +0000</pubDate>
<dc:creator>Buscolook</dc:creator>
<category>
<![CDATA[ zapatos nude ]]>
</category>
<guid isPermaLink="false">http://buscolook.wordpress.com/?p=2603</guid>
<description>
<![CDATA[
¿Os suena esta situación?: “Tengo una boda, mi vestido es rojo y NECESITO unos zapatos nude con la suela roja. ¡Ah! y el tacón que sea de 10 cm con un pelín de plataforma escondida. ¿No sé por qué no … <a href="http://buscolook.wordpress.com/2012/02/23/disena-tus-propios-zapatos/">Sigue leyendo <span class="meta-nav">→</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=buscolook.wordpress.com&amp;blog=221881 50&amp;post=2603&amp;subd=buscolook&amp;ref=&amp;f eed=1" width="1" height="1" />
]]>
</description>
<wfw:commentRss>
http://buscolook.wordpress.com/2012/02/23/disena-tus-propios-zapatos/feed/
</wfw:commentRss>
<slash:comments>9</slash:comments>
<media:content url="http://0.gravatar.com/avatar/0f8327702776b9f35e34839b14617b96?s=96&d=identicon& r=G" medium="image">
<media:title type="html">buscolook</media:title>
</media:content>
<media:content url="http://buscolook.files.wordpress.com/2012/02/captura-de-pantalla-2012-02-20-a-las-21-17-24.png" medium="image">
<media:title type="html">manik_your_design_diseñar_mis_zapatos</media:title>
</media:content>
</item>

Gracias.
  #21 (permalink)  
Antiguo 28/02/2012, 05:33
 
Fecha de Ingreso: enero-2012
Mensajes: 19
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Proceso de recuperar un XML con ASP

He encontrado la forma:
ImagenPost (n) = objItem.getElementsByTagName("media:content").item (1).getAttribute("url")

A quien le interese.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:13.