Foros del Web » Programando para Internet » Javascript »

Mostrar datos en XML con JavaScript

Estas en el tema de Mostrar datos en XML con JavaScript en el foro de Javascript en Foros del Web. Hola: tengo el siguiente problema: tengo un archivo XML. (realtime.xml) me gustaria mostrar los valores que ahi hay. <?xml version="1.0" encoding="ISO-8859-15"?> <maintag> <misc> <data misc="refresh_time">2012.09.05. ...
  #1 (permalink)  
Antiguo 05/09/2012, 15:49
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peñalolen
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Mostrar datos en XML con JavaScript

Hola:

tengo el siguiente problema:

tengo un archivo XML. (realtime.xml) me gustaria mostrar los valores que ahi hay.

<?xml version="1.0" encoding="ISO-8859-15"?>
<maintag>
<misc>
<data misc="refresh_time">2012.09.05. 15:31:33</data>
</misc>
<misc>
<data misc="forecast_nr">2</data>
</misc>
<realtime>
<data misc="winddir">WSW</data>
</realtime>
<realtime>
<data misc="location">VEGAMET</data>
</realtime>
<realtime>
<data realtime="forecast_text">Fine weather</data>
</realtime>
<realtime>
<data realtime="temp">20,3°</data>
</realtime>
<realtime>
<data realtime="intemp">24,6°</data>
</realtime>
<realtime>
<data realtime="hum">53%</data>
</realtime>
<realtime>
<data realtime="inhum">55%</data>
</realtime>
<realtime>
<data realtime="press">1019,2 mb</data>
</realtime>
<realtime>
<data realtime="presstrendval">+0,1 mb</data>
</realtime>
</maintag>

Mi problema esta en que como accedo a los datos ya que
<realtime>
<data realtime="temp">20,3°</data>
</realtime>

como obtengo el valor 20,3º para mostrarlo en un HTML si todos son <data realtime="tipodedato"></data>

eh tratado pero no consigo obtener ese dato.

Muchas gracias.
  #2 (permalink)  
Antiguo 05/09/2012, 16:25
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peñalolen
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar datos en XML con JavaScript

vi este ejemplo:

function Evento(fecha,hora,comentario)
{
this.fecha = fecha;
this.hora = hora;
this.comentario = comentario;
}
function CargarXMLEventos()
{
try
{
xmlDoc=AbrirFichero("calendario.xml");
eventosXML=xmlDoc.getElementsByTagName('evento');

if (eventosXML.length>0)
{
eventos=new Array(); //clase con los datos cargados
}
for(var i=0; i< eventosXML.length; i++)
{
xmlEvento=eventosXML[i];

fecha=xmlEvento.getElementsByTagName("fecha")[0].firstChild.nodeValue;
hora=xmlEvento.getElementsByTagName("hora")[0].firstChild.nodeValue;
comentario=xmlEvento.getElementsByTagName("comenta rio")[0].firstChild.nodeValue;
evento = new Evento(fecha,hora,comentario);
eventos.push(evento);

}
return eventos;
}
catch(e)
{
alert("Se produjo un error en la carga de los datos");
}

}
----------------------------

intente cargar los datos adecuandolo a mi XML, pero nada :/.

ojala me puedan ayudar.
  #3 (permalink)  
Antiguo 05/09/2012, 17:09
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Mostrar datos en XML con JavaScript

buenas...
lo primero, desde javascript tienes que cargar el documento xml. esto lo puedes hacer usando XMLHttpRequest. http://www.forosdelweb.com/showthread.php?t=994648 luego para obtener el elemento deseado puedes valerte por DOM o por XPath. de XPath no podría mostrar una explicación porque no lo he usado. en DOM, es básicamente similar a como harías en HTML. si la estructura del documento XML no cambia, entonces puedes obtener el dato buscando todos los elementos del mismo tipo y luego indicando el índice. por ejemplo en tu caso, el dato se encuentra en un elemento <data> y vendria ocupando el índice cinco.

Código:
var temp = xmlDoc.getElementsByTagName("data")[5].firstChild.data;
// xmlDoc es el documento xml cargado por XMLHttpRequest ;
// firstChild es el primer nodo —en este caso de tipo TextNode— que esta contenido en el elemento antes indicado ;
// data es la propiedad que contiene el string, o sea 20,3º
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 06/09/2012, 10:54
 
Fecha de Ingreso: septiembre-2012
Ubicación: Peñalolen
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Mostrar datos en XML con JavaScript

Muchas gracias zerokilled, ahora pude entender el orden del documento y podre manipularlo sin problemas :D

saludos :D

Etiquetas: html, 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 22:27.