Foros del Web » Programando para Internet » Javascript »

abrir documento xml

Estas en el tema de abrir documento xml en el foro de Javascript en Foros del Web. Hola, Me gustaría abrir un documento xml desde mi programa javascript...consigo abrirlo y leerlo con explorer pero no me funciona para chrome.... Os pongo el ...
  #1 (permalink)  
Antiguo 11/03/2013, 03:47
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
abrir documento xml

Hola,

Me gustaría abrir un documento xml desde mi programa javascript...consigo abrirlo y leerlo con explorer pero no me funciona para chrome....

Os pongo el código por si alguien me puede ayudar.

Este es el código que he utilizado:

function AbrirFichero(fichXML)
{
var xmlDoc=undefined;
try
{
if (document.all) //IE
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else //firefox
{
xmlDoc = document.implementation.createDocument("","xml",nu ll);
}
xmlDoc.async=false;
xmlDoc.load(fichXML);
}
catch(e)
{
try { //otros safari, chrome
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET",fichXML,false);
xmlhttp.send(null);
xmlDoc = xmlhttp.responseXML.documentElement;
return xmlDoc;
}
catch (e)
{
return undefined;
}

}
return xmlDoc;
}



Gracias de antemano!!

Saludos.
  #2 (permalink)  
Antiguo 11/03/2013, 03:57
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: abrir documento xml

Hola:

Con XMLHttpRequest abres tus xml en prácticamente todos los navegadores (menos las viejas versiones de ie).

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/03/2013, 06:36
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: abrir documento xml

Es que creo que eso me funciona el problema lo tengo cuando hago:

xmlhttp.send(null);
xmlDoc = xmlhttp.responseXML.documentElement;

ya que quiero utilizar el contenido del documento...
  #4 (permalink)  
Antiguo 11/03/2013, 08:08
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: abrir documento xml

para crear el objeto está función es mas sencilla
Cita:
function creaAjax(){
var ajax = false;
if (window.XMLHttpRequest) {
ajax = new XMLHttpRequest();

if (ajax.overrideMimeType) {
ajax.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
return ajax;
}
para leer el xml (sin conocer la estructura)
Cita:
dato = ajax.responseXML.documentElement.getElementsByTagN ame('item');
for(var i = 0; i < dato.length; i++) {
console.log(dato[i].firstChild.nodeValue); // valor del item
}
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 12/03/2013, 03:28
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: abrir documento xml

Lo siento pero no lo entiendo....donde pongo aquí el nombre del archivo xml que quiero leer...???
  #6 (permalink)  
Antiguo 12/03/2013, 04:26
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: abrir documento xml

Tengo un archivo xml y lo único que quiero el leer su contenido para comprobar si un código está guardado en el xml o no.

Consigo hacerlo en explorer pero en chrome no me funciona. Uso el código de arriba pero creo que solo funciona en el lado del servidor y yo lo estoy haciendo en local.

No se si me explico...por favor si me podeis ayudar...es muy importante!!
  #7 (permalink)  
Antiguo 12/03/2013, 07:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: abrir documento xml

pongamos este xml
Cita:
<?xml version="1.0" encoding="UTF-8"?>
<contenedor>
<caja>
<item name="expediente1">
Contenido del expediente 1 --> María
</item>
</caja>
<caja>
<item name="expediente1">
Contenido del expediente 1.1 --> Andrés
</item>
</caja>
<caja>
<item name="expediente2">
Contenido del expediente 2 --> Juan
</item>
</caja>
</contenedor>
para obtener los valores

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="application/xhtml; charset=utf-8" />
<title></title>
<script type="text/javascript">
function fnc(nodo, attr, valorAttr) {
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else {
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.open('GET','valornodoporid.xml',false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;



col = xmlDoc.getElementsByTagName(nodo);

for (var i = 0; i < col.length; i++) {
if (col[i].getAttribute(attr) && col[i].getAttribute(attr) == valorAttr) {
document.getElementById('valores').innerHTML+= col[i].childNodes[0].nodeValue + '<br />';
}
}

}
</script>
</head>
<body>
<div>
<b>Valores:</b> <span id="valores"></span>
</div>
<form>
<input type="button" onclick="fnc('item', 'name', 'expediente1')" value="Valor del Nodo" />
</form>


</body>
</html>
para que funcione en chrome, ie y opera has de estar en el servidor
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 12/03/2013, 07:49
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: abrir documento xml

Que es exactamente lo que querés hacer con ese xml?

Parsearlo, leerlo entero, buscar en algún nodo en particular?
Estás trabajando en local, eso es excluyente? Tiene que funcionar en cualquier navegador? en alguno en particular?

Dá algún dato más concreto, si no con lo dicho por IsabelM tiene que funcionar

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 13/03/2013, 02:30
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: abrir documento xml

Si estoy trabajando en local y lo que quiero el leer un documento xml para buscar entre su contenido un número en concreto. Si lo encuentra me dice que está y sino que no está. Con explorer consigo hacerlo pero con chrome no consigo que me abra y me lea el xml.

Agradecería mucho la ayuda. Es importante.

Gracias
  #10 (permalink)  
Antiguo 13/03/2013, 02:31
 
Fecha de Ingreso: julio-2012
Mensajes: 65
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: abrir documento xml

Es que lo de isabelM es para que funcione desde un servidor y yo lo quiero en local....
  #11 (permalink)  
Antiguo 13/03/2013, 05:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: abrir documento xml

Cita:
Iniciado por MARIAjava Ver Mensaje
Es que lo de isabelM es para que funcione desde un servidor y yo lo quiero en local....
Con chrome no se puede. Son restricciones propias del navegador, no de javascript.
Pero con instalar un servidor web en local, sería suficiente. Ni siquiera necesitás Apache, Hay unos cuantos servidores muy báscos de aenas unos kb y que sonsumen pocos resursos que podés usar, sin descartar el uso de php 5.4 que tiene un webserver propio. No imagino una aplicación que necesite leer en "local". entiéndase desde el protocolo file, un xml.

Otra alternativa es reescribir tus xml como cadenas y utilizar parseFromString, que te va a funcionar en cualquier navegador

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: funcion, 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 11:47.