Hola a tod@s tengo un problema a la hora de parsear un XML, me explico: le el archivo y cuento cuantos items hay, hasta ahí ningún problema. Después muestro desde el item 9 hasta el 13 los valores que quiero y aquí viene le problema. Mi código es el siguiente:
Código ASP:
Ver originalset objXml = server.CreateObject("MSXML2.DOMDocument")
objxml.async = false
' Aqui cargamos el archivo en el objeto
objxml.load(server.mappath("./tmp/xml_wm.xml"))
' Gestion de errores
if objxml.parseError.errorCode <> 0 Then
response.Write("Error de Lectura (Por favor, ponerse en contacto con el webmaster).<br />FilePos: " & objxml.parseError.filepos & "<br /> Línea: " & objxml.parseError.Line & "<br /> Causa: " & objxml.parseError.reason & "<br /> Ocurrió en: " & objxml.parseError.srcText & "<br /> Archivo: " & objxml.parseError.URL)
response.End()
end if
numNoticias = objxml.selectSingleNode("/rss/channel").childNodes.length
if numNoticias <= 5 then
numnoticias = 0
else
for n = 9 to 13
response.write "titulo = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(0).Text
response.write "<br>enlace = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(1).Text
response.write "<br>resumen = " & objxml.selectSingleNode("/rss/channel").childNodes(n).childNodes(12).Text
response.write "<br><br>"
next
end if
Con lo que muestra los elementos en función de su posición, pero lo malo es que la posición del último elemento puede variar, lo mismo está el 11, que el 13 o el 19, ya que por medio varía el número de algunas informaciones.
He intentado cambiarlo de forma que fuese
Código ASP:
Ver originalresponse.write "titulo = " & objxml.selectSingleNode("/rss/channel/item/title")Text
Pero entonces obviamente siempre me saca el mismo valor ya que no se tiene en cuenta el contador. En cambio si pongo esto:
Código ASP:
Ver originalresponse.write "titulo = " & objxml.selectSingleNode("/rss/channel").childNodes(n).("title").Text
me da un error. Si dejo las comillas dice que se esperaba un identificador y si las quito me dice que el objeto no acepta esa propiedad.
¿Cómo puedo acceder a los valores title, link y description sin depende de la posición que ocupen dentro de ITEM, pero accediendo a ITEM en función del contador?
Salu2 y muchas gracias por adelantado