Foros del Web » Programando para Internet » Javascript »

Problemas con xml

Estas en el tema de Problemas con xml en el foro de Javascript en Foros del Web. Hola, no se si debo poner el post aqui o no, si no porfavor moverlo. Me explico necesito mostrar un xml, he conseguido un script ...
  #1 (permalink)  
Antiguo 10/05/2010, 08:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Problemas con xml

Hola, no se si debo poner el post aqui o no, si no porfavor moverlo.

Me explico necesito mostrar un xml, he conseguido un script para mostrarlo, pero no me funciona con todos los xml y no se porque os dejo el escript

Código PHP:
<script type="text/javascript">
var 
xmlDoc=null;
if (
window.ActiveXObject)
{
// code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (
document.implementation.createDocument)
{
// code for Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Tu navegador no soporta esta funcion');
}
if (
xmlDoc!=null
{
xmlDoc.async=false;
xmlDoc.load("portfolio2.xml");
var 
x=xmlDoc.getElementsByTagName("Sala");

document.write("<table border='1'>");
document.write("<thead>");
document.write("<tr><th>Artista</th><th>Album</th></tr>");
document.write("</thead>");

document.write("<tfoot>");
document.write("<tr><th colspan='2'>Esta es mi coleccion de albums</th></tr>");
document.write("</tfoot>");

for (var 
i=0;i<x.length;i++)

document.write("<tr>");
document.write("<td>");
document.write(x[i].getElementsByTagName("Nick")[0].childNodes[0].nodeValue);
document.write("</td>");

document.write("<td>");
document.write(x[i].getElementsByTagName("Edad")[0].childNodes[0].nodeValue);
document.write("</td>");
document.write("</tr>");
}
document.write("</table>");
}
</script> 
El codigo funciana bien con el siguiente xml
Código PHP:
  <?xml version="1.0" encoding="utf-8" ?> 

 <ListadoSalas>
 <Sala>
  <Nick>Litleangel</Nick> 
  <Foto>6870/2.jpg</Foto> 
  <Edad>21</Edad> 

  </Sala>
 <Sala>
  <Nick>Nadia</Nick> 
  <Foto>2625/2.jpg</Foto> 
  <Edad>22</Edad> 

  </Sala>

  </ListadoSalas>
pero si le añado una etiqueta mas dentro de sala <idiomas>
Código PHP:
  <?xml version="1.0" encoding="utf-8" ?> 

 <ListadoSalas>
 <Sala>
  <Nick>Litleangel</Nick> 
  <Foto>6870/2.jpg</Foto> 
  <Edad>21</Edad> 
 <Idiomas>
  <Idioma id="es">Español</Idioma> 
  <Idioma id="en">English</Idioma> 
  </Idiomas>
  </Sala>
 <Sala>
  <Nick>Nadia</Nick> 
  <Foto>2625/2.jpg</Foto> 
  <Edad>22</Edad> 
 <Idiomas>
  <Idioma id="es">Español</Idioma> 
  </Idiomas>
  </Sala>

  </ListadoSalas>
  </SalasOnlineChicas>
ya me deja de funcionar.
No tengo ni papas de como solucionarlo.
Gracias
  #2 (permalink)  
Antiguo 10/05/2010, 09:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Problemas con xml

Hola:

Supongo que las eñes no estén permitidas en la codificación que usas... tal vez en vez de usar utf-8 sea mejor el iso (no se cuanto), o encerrar esos contenidos en tags CDATAs...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/05/2010, 09:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Problemas con xml

el xml me lo un afiliado, no lo creo yo, por lo tanto me tengo que adaptar a lo que me da
  #4 (permalink)  
Antiguo 10/05/2010, 09:59
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Problemas con xml

Hola:

Entonces no puedes hacer nada... intenta abrir esos datos como xml y verás que los navegadores no lo aceptan... en este caso tampoco se te puede ayudar... podrías crear una especie de plantilla o formulario y crear el xml tú mismo, pero con el chequeo pertinente (o los cdata, o desde lenguajes como php, con htmlentities o funciones propias...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 10/05/2010, 10:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Problemas con xml

Gracias por todo
  #6 (permalink)  
Antiguo 10/05/2010, 14:05
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, 7 meses
Puntos: 1485
Respuesta: Problemas con xml

@caricatos,
¡hola! no quiero insultar tu sabiduria, pero me cuesta aceptar la afirmacion de que las eñes no sean aceptadas en la codificacion utf-8, que por cierto, son validas tanto en unicode como en iso-8859-1. para asegurarme, hice la prueba y efectivamente funciona en utf-8.

en fin, el tema no es de codificacion. el problema es que esta usando un tag de cierre donde ni siquiera existe el de apertura. en este caso </SalasOnlineChicas>.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 10/05/2010, 15:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Problemas con xml

Cita:
Iniciado por zerokilled Ver Mensaje
@caricatos,
¡hola! no quiero insultar tu sabiduria, pero me cuesta aceptar la afirmacion de que las eñes no sean aceptadas en la codificacion utf-8...
¡Je, je! No suelo mirar los códigos con lupa, y por eso lo de "supongo"... xml no es mi fuerte, y más de una sorpresa me llevé por caracteres no muy especiales... pero desde luego, no cerrar los tags es uno de esos errores que no espero en las preguntas

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: 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 18:45.