JS lit et génère des nœuds et des attributs de fichiers XML (compatibles avec IE, FF)
J'ai eu du mal à trouver cette chose, mais je l'ai quand même trouvée.
Je ne peux pas garder ces bonnes choses pour moi, alors je les publie pour les partager, ^_^ |
Le code du book.html est le suivant :
++++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++
<!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 ">
<tête>
<langage de script="javascript">
var xmlDoc;
var parcourir="";
fonction loadXML()
{
var fileRoute="livres.xml"
si (window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
xmlDoc.async=false ;
xmlDoc.load(fileRoute);
parcourir="ie";
}
sinon si (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument('', '', null);
xmlDoc.load(fileRoute);
parcourir="ff";
}
autre
{
alert('Non compatible avec ce navigateur !');
}
}
fonction getmessage()
{
var msg='<table border="1" Cellpacing="0" cellpadding="0" width="500">';
msg+='<tr><td width="90"></td><td width="100">Numéro de livre</td><td width="100">Numéro de catégorie</td><td width= "110">Nom du livre</td><td width="100">Auteur</td></tr>'
si(parcourir=="ff")
{
var cNodes = xmlDoc.getElementsByTagName("livre");
pour(j=0;j<cNodes.length;j++)
{
var bookID=xmlDoc.getElementsByTagName("book")[j].getAttribute("id");
var sortID=xmlDoc.getElementsByTagName("book")[j].getAttribute("sortID");
var bookTitle=xmlDoc.getElementsByTagName("title")[j].childNodes[0].nodeValue;
var bookAuthor=xmlDoc.getElementsByTagName("author")[j].childNodes[0].nodeValue;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190 ">'+BookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
sinon if(browse=="ie")
{
var state = xmlDoc.readyState;
si (état == 4)
{
var oNodes = xmlDoc.selectNodes("//books/book");
pour(j=0;j<oNodes.length;j++)
{
var bookID=oNodes[j].getAttribute("id");
var sortID=oNodes[j].getAttribute("sortID");
var bookTitle=oNodes[j].childNodes[0].text;
var bookAuthor=oNodes[j].childNodes[1].text;
msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190 ">'+BookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
}
}
}
msg+='</table>';
//alerte (msg)
document.getElementById("bookList").innerHTML=msg;
}
</script>
</tête>
<body onload="loadXML();">
<div id="bookList" style="width:500px;">
</div>
<table border="0" cellpacing="0" cellpadding="0" width="500">
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<input name="button" type="button" onclick="getmessage()" value="onclick" />
</corps>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++
Le code books.xml est le suivant :
++++++++++++++++++++++++++++++++++++++++++++++++++ ++ +++++++++++++++++++++
<?xml version="1.0" encoding="gb2312"?>
<livres>
<identifiant du livre="4" sortID="a4">
<titre>auteur4aa</titre>
<auteur>auteur4</auteur>
</livre>
<identifiant du livre="5" sortID="a5">
<titre>auteur55</titre>
<auteur>auteur5</auteur>
</livre>
<identifiant du livre="6" sortID="a6">
<title>titre du livre</title>
<auteur>auteur6</auteur>
</livre>
<identifiant du livre="7" sortID="a7">
<title>titre du livre</title>
<auteur>auteur7</auteur>
</livre>
<identifiant du livre="8" sortID="a8">
<title>titre du livre</title>
<auteur>auteur8</auteur>
</livre>
<identifiant du livre="15" sortID="a15">
<titre>auteur155</titre>
<auteur>auteur15</auteur>
</livre>
</livres>