Hola gente, resulta que estoy creándome un código para ejecutar consultas XPath a una base de datos XML utilizando XMLHttpRequest.
El problema está en que no me muestra nada, he probado variando el código varias veces, pero no muestra el resultado.
A ver si me podéis arrojar algo de luz.
<!DOCTYPE html>
<html>
<head>
<title>Pruebas XPath</title>
<meta charset="utf-8" />
<script language="javascript">
function iniciar()
{
console.log( "Iniciado.." );
var boton = document.getElementById( 'ejecutar' ).onclick = ejecutar;
}
function ejecutar()
{
var sentencia;
prompt( "Introduce la sentencia", sentencia );
var objetoXMLHttp = iniciarObjetoXMLHttpRequest();
if( window.ActiveXObject )
{
var nodos = objetoXMLHttp.selectNodes( sentencia );
for ( i = 0; i < nodos.length; i++ )
{
document.write( nodos[i].childNodes[0].nodeValue );
document.write( "<br />" );
}
}
else if( document.implementation && document.implementation.createDocument )
{
var nodos = objetoXMLHttp.evaluate( sentencia, document, null, XPathResult.ANY_TYPE, null);
var resultado = nodos.iterateNext();
while ( resultado )
{
document.getElementById( 'p.resultado' ).innerHTML = resultado.childNodes[0].nodeValue;
document.getElementById( 'p.resultado' ).innerHTML = "<br />";
resultado = nodos.iterateNext();
}
}
}
function iniciarObjetoXMLHttpRequest()
{
var xmlHttp = null;
//Para los navegadores "normales"
if( window.XMLHttpRequest )
{
try
{
xmlHttp = new XMLHttpRequest();
console.log( "Objeto XMLHttpRequest creado." );
}catch( e )
{
console.log( e.message );
}
}
else
{
//Para Internet Explorer...
try
{
xmlHttp = new ActiveXObject( "Microsoft.XMLDOM" );
console.log( "Objeto ActiveXObject creado." );
}catch( e )
{
console.log( e.message );
}
}
xmlHttp.open( "GET", "libros.xml" ,false);
xmlHttp.send( "" );
return xmlHttp.responseXML;
}
</script>
</head>
<body lang="es" onload=iniciar();>
<p>Pulsa sobre el botón para ejecutar una nueva consulta en XML. <button id="ejecutar" >Ejecutar</button></p>
<p id="resultado" ></p>
</body>
</html>