JS lee y genera nodos y atributos de archivos xml (compatible con IE, FF)
Fue difícil para mí encontrar esto, pero lo encontré de todos modos.
No puedo guardarme estas cosas buenas para mí, así que las publicaré para compartirlas, ^_^ |
El código book.html es el siguiente:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transicional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<cabeza>
<lenguaje de escritura="javascript">
var xmlDoc;
var explorar="";
función cargarXML()
{
var fileRoute="libros.xml"
si (ventana.ActiveXObject)
{
xmlDoc = nuevo ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=falso;
xmlDoc.load(fileRoute);
navegar="es decir";
}
de lo contrario si (documento.implementación && documento.implementación.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', nulo);
xmlDoc.load(fileRoute);
navegar="ff";
}
demás
{
alert('¡No es compatible con este navegador!');
}
}
función obtener mensaje()
{
var msg='<table border="1" cellpacing="0" cellpadding="0" width="500">';
msg+='<tr><td width="90"></td><td width="100">Número de libro</td><td width="100">Número de categoría</td><td width= "110">Nombre del libro</td><td width="100">Autor</td></tr>'
si(navegar=="ff")
{
var cNodes = xmlDoc.getElementsByTagName("libro");
para(j=0;j<cNodos.longitud;j++)
{
var bookID=xmlDoc.getElementsByTagName("libro")[j].getAttribute("id");
var sortID=xmlDoc.getElementsByTagName("libro")[j].getAttribute("sortID");
var bookTitle=xmlDoc.getElementsByTagName("título")[j].childNodes[0].nodeValue;
var bookAuthor=xmlDoc.getElementsByTagName("autor")[j].childNodes[0].nodeValue;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190 ">'+títulodellibro+'</td><td width="120">'+autordellibro+'</td></tr>'
}
}
de lo contrario si(navegar=="es decir")
{
var estado = xmlDoc.readyState;
si (estado == 4)
{
var oNodes = xmlDoc.selectNodes("//libros/libro");
for(j=0;j<oNodos.longitud;j++)
{
var bookID=oNodes[j].getAttribute("id");
var sortID=oNodes[j].getAttribute("sortID");
var bookTitle=oNodos[j].childNodes[0].text;
var bookAuthor=oNodos[j].childNodes[1].text;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190 ">'+títulodellibro+'</td><td width="120">'+autordellibro+'</td></tr>'
}
}
}
msg+='</table>';
//alerta(mensaje)
document.getElementById("bookList").innerHTML=msg;
}
</script>
</cabeza>
<cuerpo onload="loadXML();">
<div id="lista de libros" estilo="ancho:500px;">
</div>
<table border="0" cellspace="0" cellpadding="0" ancho="500">
<tr>
<td></td>
<td></td>
<td></td>
<td> </td>
</tr>
</tabla>
<nombre de entrada="botón" tipo="botón" onclick="getmessage()" valor="onclick" />
</cuerpo>
</html>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++
El código books.xml es el siguiente:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++
<?xml versión="1.0" codificación="gb2312"?>
<libros>
<libro id="4" sortID="a4">
<título>autor4aa</título>
<autor>autor4</autor>
</libro>
<libro id="5" sortID="a5">
<título>autor55</título>
<autor>autor5</autor>
</libro>
<libro id="6" sortID="a6">
<título>título del libro</título>
<autor>autor6</autor>
</libro>
<libro id="7" sortID="a7">
<título>título del libro</título>
<autor>autor7</autor>
</libro>
<libro id="8" sortID="a8">
<título>título del libro</título>
<autor>autor8</autor>
</libro>
<libro id="15" sortID="a15">
<título>autor155</título>
<autor>autor15</autor>
</libro>
</libros>