Foros del Web » Programando para Internet » ASP Clásico »

Lectura XML

Estas en el tema de Lectura XML en el foro de ASP Clásico en Foros del Web. Hola chicos, estoy intentando leer un XML que he generado yo mismo con la siguiente estructura... <?xml version="1.0" encoding="ISO-8859-1"?> <articulos> <articulo> <id>26</id> <nombre>prueba1</nombre> </articulo> <articulo> ...
  #1 (permalink)  
Antiguo 01/12/2008, 04:55
 
Fecha de Ingreso: julio-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
Lectura XML

Hola chicos, estoy intentando leer un XML que he generado yo mismo con la siguiente estructura...

<?xml version="1.0" encoding="ISO-8859-1"?>
<articulos>
<articulo>
<id>26</id>
<nombre>prueba1</nombre>
</articulo>
<articulo>
<id>29</id>
<nombre>prueba2</nombre>
</articulo>
</articulos>

Me he descargado un codigo de este foro que hace una lectura de XML de rss de esta misma web pero incluso al bajarme el archivo xml a mi propio ordenador no lo lee y me da el error

Error de Microsoft VBScript en tiempo de ejecución error '800a01a8'
Se requiere un objeto: '[object]'

Response.Write ("<html><head><title>Ejemplo fichero XML (RSS)</title>")
Response.Write ("</head><body>")
Dim objHTTP, objItem
Dim url
url= "http://www.forosdelweb.com/index.xml"
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.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>")

Por mas que pongo mi ruta no funciona, pero si dejo la ruta al xml de esta web funciona...
  #2 (permalink)  
Antiguo 01/12/2008, 05:07
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: Lectura XML

Que quieres hacer con ese XML?
imprimirlo en pantalla?


te aviso que ese codigo que estas usando sirve solo para RSS y el XML que has hecho no es un RSS


Para que leas un poco.
http://www.w3schools.com/rss/default.asp
  #3 (permalink)  
Antiguo 01/12/2008, 05:24
 
Fecha de Ingreso: julio-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Lectura XML

pues ese xml me sale de una tpv que trabaja en php y que genera ese XML.

yo ahora debo leelo e introducrilo a una base de datos...

Como podria entonces leer el xml???
  #4 (permalink)  
Antiguo 01/12/2008, 06:50
 
Fecha de Ingreso: julio-2004
Mensajes: 10
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: Lectura XML

Bueno he conseguido por fin hacer que funcione el XML, asi que lo posteo por si alguien lo necesita.

Dim xml
Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = False
xml.load (Server.MapPath("./../xml/articulos2.xml"))


Dim id, nombre, paragraph, testHTML, i

for i = 0 to xml.documentElement.childNodes.length - 1
response.Write("<br/> -->" & xml.documentElement.childNodes(i).childNodes(0).no dename )
response.Write("<br/> -->" & xml.documentElement.childNodes(i).childNodes(0).te xt )

response.Write("<br/> -->" & xml.documentElement.childNodes(i).childNodes(1).no dename )
response.Write("<br/> -->" & xml.documentElement.childNodes(i).childNodes(1).te xt )
next



Un saludo a todos
  #5 (permalink)  
Antiguo 01/12/2008, 09:15
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
Respuesta: Lectura XML

aps...pense que necesitabas leer el XML desde un servidor remoto.
si ese fuese el caso , te dejo este ejemplo para que lo uses.

Código PHP:


<%

REM INICIO

  Response
.Buffer True
  Dim objXMLHTTP
xml

   REM los dos objetos pueden funcionar
va a depender de cual tengfa instalado el IIS
   Set xml 
Server.CreateObject("Microsoft.XMLHTTP")
   
Set xml Server.CreateObject("MSXML2.ServerXMLHTTP")
   
 
rem aca debes colocar la ruta del archivo XML que quieres leeren este caso estoy tratando de obtener el HTML que google envia al invocarlo.
   
  
dim ruta 
  ruta 
"http://www.google.cl"
  
  
REM Aca se abre el objeto xml que va a viajar por la internety se OBTIENE con GETCheca la documentacion para saber que otras cosas se pueden hacer.
  
  
xml.Open "GET"rutaFalse

  on error resume next
  xml
.Send
  
  rem esto es basicamente para que veas que pasa si es que se cae
  
  error 
err.number 
  descripcion 
err.Description 
  response
.Write("Error al traer el dato desde " ruta  ": " )
  if 
error 0 then 
  response
.Write(" NINGUNO")
  else 
  
response.Write(error " " descripcion)
  
end if
  

  
Response.Write "<h1>el HTML que se trajo es el siguiente:</h1><xmp>"
  
Response.Write xml.responseText
  Response
.Write "</xmp><p><hr><p><h1>y asi se ve asi:</h1>"
  
Response.Write xml.responseText
 
  
  Set xml 
Nothing
  
  REM 
:)

%> 
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




La zona horaria es GMT -6. Ahora son las 07:49.