Hola a todos.
Veréis, estoy intentando leer un fichero XML desde HTML con Javascript y me surgen problemas a la hora de cargar el fichero.
Tengo un fichero XML que contiene personas almacenando de estas sus nombres y apellidos. La intención es con una función en Javascript que recibe un nombre y un apellido, recorrer cada una de las personas almacenadas en dicho fichero y que me muestre (en este momento con un simple alert me sirve) si la persona se encuentra ya almacenada o no.
Nunca antes había tocado XML y con Javascript había hecho muy, muy poco, asique si pudieseis echarme una manita me sería de gran ayuda ya que me urge mucho terminar esto.
Os dejo el código XML:
Código:
<?xml version="1.0" encoding="utf-8"?>
<PERSONAS>
<persona>
<nombre> Andrea </nombre>
<apellido> Martinez </apellido>
</persona>
<persona>
<nombre> Juan </nombre>
<apellido> Fernandez </apellido>
</persona>
<PERSONAS>
Y la función de Javascript (¡cuidado!, están las 4 distintas opciones que he estado probando de como cargar el fichero XML):
Código:
function ComprobarPersonaAlmacenada(nombre,apellido) {
//----------------
//Opción 1:
xmlDoc = CreateMSXMLDocumentObject();
xmlDoc.loadXML("personasAlmacenadas.xml");
//----------------
//Opción 2:
xmlDoc = loadXMLDoc("personasAlmacenadas.xml");
//----------------
//Opción 3:
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("personasAlmacenadas.xml");
//----------------
//Opción 4:
var xmlDoc=null;
if (window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}else if (document.implementation.createDocument){
xmlDoc=document.implementation.createDocument(""," ",null);
}else {
alert('Your browser cannot handle this script');
}
if (xmlDoc!=null){
xmlDoc.async=false;
xmlDoc.load("personasAlmacenadas.xml");
//-------------
numUsers = xmlDoc.getElementsByTagName("persona").length;
for ( i = 0; i < numUser ; i++ ) {
if (xmlDoc.getElementsByTagName("nombre").childNodes[0] == nombre && xmlDoc.getElementsByTagName("apellido").childNodes[0] == apellido ) {
alert('La persona está almacenada');
}
}
alert('La persona no está almacenada');
}
};
Muchísimas gracias de antemano por toda la ayuda que podais aportarme.