JavaScript - XML a HTML en local.

 
Vista:
sin imagen de perfil

XML a HTML en local.

Publicado por correo (3 intervenciones) el 15/09/2014 12:53:58
Hola a todos. Soy nuevo programando en JavaScript por lo que ante todo presentarme y pedir disculpas por tal vez la pregunta tan simple que voy a plantear.

Necesito leer un XML y llevarlo a un fichero HTML para abrirlo con un navegador en local. Estoy mirando ejemplo en internet pero no consigo ver porqué no me funciona.

Este ejemplo tan sencillo no consigo que funcione de ninguna manero:
http://www.w3schools.com/xml/xml_to_html.asp

Con este ejemplo funciona, pero sólo si los ficheros están en un servidor, no en local:
http://construyendotuweb.blogspot.com.es/2012/07/leer-un-archivo-xml-con-jquery-y.html

¿Alguien me puede encauzar un poco? Muchas gracias de antemano. Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

XML a HTML en local.

Publicado por xve (2100 intervenciones) el 15/09/2014 15:42:36
Hola, he probado el ejemplo al que haces referencia y funciona perfectamente siempre y cuando el archivo cd_catalog.xml este en el servidor donde esta la pagina html.

Hay que decir también, que tienes que abrirla desde un servidor web, no vale desde file://...

Adjunto los dos archivos por si quieres probarlo.

archivo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<html>
<body>
 
<script>
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","cd_catalog.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
 
document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
  {
  document.write("<tr><td>");
  document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  }
document.write("</table>");
</script>
 
</body>
</html>

cd_catalog.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by XMLSpy -->
<CATALOG>
	<CD>
		<TITLE>Empire Burlesque</TITLE>
		<ARTIST>Bob Dylan</ARTIST>
		<COUNTRY>USA</COUNTRY>
		<COMPANY>Columbia</COMPANY>
		<PRICE>10.90</PRICE>
		<YEAR>1985</YEAR>
	</CD>
	<CD>
		<TITLE>Hide your heart</TITLE>
		<ARTIST>Bonnie Tyler</ARTIST>
		<COUNTRY>UK</COUNTRY>
		<COMPANY>CBS Records</COMPANY>
		<PRICE>9.90</PRICE>
		<YEAR>1988</YEAR>
	</CD>
	<CD>
		<TITLE>Greatest Hits</TITLE>
		<ARTIST>Dolly Parton</ARTIST>
		<COUNTRY>USA</COUNTRY>
		<COMPANY>RCA</COMPANY>
		<PRICE>9.90</PRICE>
		<YEAR>1982</YEAR>
	</CD>
	<CD>
		<TITLE>Still got the blues</TITLE>
		<ARTIST>Gary Moore</ARTIST>
		<COUNTRY>UK</COUNTRY>
		<COMPANY>Virgin records</COMPANY>
		<PRICE>10.20</PRICE>
		<YEAR>1990</YEAR>
	</CD>
	<CD>
		<TITLE>Eros</TITLE>
		<ARTIST>Eros Ramazzotti</ARTIST>
		<COUNTRY>EU</COUNTRY>
		<COMPANY>BMG</COMPANY>
		<PRICE>9.90</PRICE>
		<YEAR>1997</YEAR>
	</CD>
</CATALOG>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

XML a HTML en local.

Publicado por correo (3 intervenciones) el 15/09/2014 19:27:23
Pero para hacerlo en local, sin subir ficheros a ningún servidor, ¿no hay alguna solución?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

XML a HTML en local.

Publicado por xve (2100 intervenciones) el 15/09/2014 21:45:01
Es la unica manera que se me ocurre... Ten en cuenta que por seguridad, desde la web con javaScript no vas a poder acceder nunca al ordenador del usuario, por lo que tienes que buscar la manera de hacerlo sin utilizar su disco.

Puedes utilizar cookies, aunque no se si te puede servir...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

XML a HTML en local.

Publicado por correo (3 intervenciones) el 17/09/2014 12:54:26
Es muy lógico lo que dices. Muchas gracias por la ayuda que me has proporcionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

XML a HTML en local.

Publicado por javier (1 intervención) el 23/01/2017 10:19:46
Con firefox sí puedes. con el resto de los navegadores da error. Yo tengo una aplicación html local que me abre ficheros locales de xml. y funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar