Foros del Web » Programando para Internet » Javascript » Frameworks JS »

mostrar contenido xml

Estas en el tema de mostrar contenido xml en el foro de Frameworks JS en Foros del Web. Hola, resulta q tengo una funcion ajax para cargar el contenido rss de un archivo .xml de una pagina, la info la carga pero me ...
  #1 (permalink)  
Antiguo 12/08/2010, 14:29
 
Fecha de Ingreso: junio-2010
Ubicación: Manizales
Mensajes: 59
Antigüedad: 13 años, 9 meses
Puntos: 1
mostrar contenido xml

Hola, resulta q tengo una funcion ajax para cargar el contenido rss de un archivo .xml de una pagina, la info la carga pero me saca todo y necesito solo sacar la info contenida en las etiquetas <title> y <description>
mi codigo es el siguiente:

Código:
var READY_STATE_COMPLETE=4;
	var ajax = null;
	
	function Ajax(){
		if(window.XMLHttpRequest) {
			return new XMLHttpRequest();
		}
		else if(window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	function recibe(){
			ajax =new Ajax();
				if (ajax){
					ajax.onreadystatechange = procesaRespuesta;
					ajax.open("get","http://www.elespectador.com/rss.xml", true);
					ajax.send(null);
				}
	}
	
	function procesaRespuesta() {
		if(ajax.readyState == READY_STATE_COMPLETE) {
			if(ajax.status == 200) {
				document.getElementById("rss").innerHTML = ajax.responseText;
			}else if (ajax.status == 404)
				alert("la pagina no existe");
		}
	}
y donde se muesta el resultado:
Código:
</head>
<body onLoad="recibe();">
<div id="rss"></div>
</body>
</html>
Como hago para sacar solo lo que necesito.
Saludos....
  #2 (permalink)  
Antiguo 13/08/2010, 03:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: mostrar contenido xml

Hola:

En vez de usar responseText deberías usar responseXML y recorrer el DOM.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 13/08/2010, 07:04
 
Fecha de Ingreso: junio-2010
Ubicación: Manizales
Mensajes: 59
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: mostrar contenido xml

Hola, serai algo como esto:

Código:
function procesaRespuesta() {
		if(ajax.readyState == READY_STATE_COMPLETE) {
			if(ajax.status == 200) {
				//document.getElementById("rss").innerHTML = ajax.responseText;
					 var xml  = ajax.responseXML.documentElement;
					 for (i = 0; i < xml.getElementsByTagName('channel').length; i++){
					   var item = xml.getElementsByTagName('channel')[i];
					   var txt = item.getElementsByTagName('title')[0].firstChild.data;
					   var txt2 = item.getElementsByTagName('description')[0].firstChild.data;
					   alert(txt+txt2);
					  }
			}else if (ajax.status == 404)
				alert("la pagina no existe");
		}
	}
Gracias.
  #4 (permalink)  
Antiguo 13/08/2010, 07:05
 
Fecha de Ingreso: junio-2010
Ubicación: Manizales
Mensajes: 59
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: mostrar contenido xml

Cita:
Iniciado por tatip Ver Mensaje
Hola, serai algo como esto:

Código:
function procesaRespuesta() {
		if(ajax.readyState == READY_STATE_COMPLETE) {
			if(ajax.status == 200) {
					 var xml  = ajax.responseXML.documentElement;
					 for (i = 0; i < xml.getElementsByTagName('channel').length; i++){
					   var item = xml.getElementsByTagName('channel')[i];
					   var txt = item.getElementsByTagName('title')[0].firstChild.data;
					   var txt2 = item.getElementsByTagName('description')[0].firstChild.data;
					   alert(txt+txt2);
					  }
			}else if (ajax.status == 404)
				alert("la pagina no existe");
		}
	}
Gracias.

Etiquetas: ajax, contenido, xml
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




La zona horaria es GMT -6. Ahora son las 16:48.