Gestion d'une videothèque sous xml

Description

Voilà un exemple de gestion d'une videothèque sous XML et HTML sous forme de deux exemples identiques. Le premier étant en JavaScript, le second en VBScrit. L'objectif de ce code source et d'aider les débutants dans la gestion de données qui proviennent d'un fichier XML avec Javascrit et VBScript. On exploite ces données sous HTML (Jaquette, titre, acteur(s)... et descriptif du film). Il reste un problème à régler concernant les liens "Suivants" et "Précèdents" pour la page Web qui contient du code en VBScript. J'avoue que je n'y suis pas arriver. Pas de problème en Javascript, si quelqu'un peu m'aider concernant i++ en VBScript. MERCI d'avance !

Source / Exemple :


//VERSION JAVASCRIPT

<HTML>
<HEAD>
<title>Exemple XML avec JavaScript</title>
<SCRIPT language="JavaScript" type="text/javascript">
i = 0;
function videotheque(){
doc = fichierxml.XMLDocument;
collectionfilm = doc.documentElement.getElementsByTagName("film");
nbrfilm = collectionfilm.length;
i = (i>collectionfilm.length -1) ? collectionfilm.length -1 : i ;
i = (i<0) ? 0 : i ;

//Variable
var strActeur="";

//Lecture du fichier XML
strTitre = collectionfilm.item(i).childNodes(0).text;
strGenre = collectionfilm.item(i).getElementsByTagName("genre").item(0).text;
//Noeud de niveau 2
strReference = collectionfilm.item(i).childNodes(0).attributes(0).nodeValue;

collectionacteur = collectionfilm.item(i).getElementsByTagName("acteur");
nbracteur = collectionacteur.length;
for(aut=0;aut<nbracteur;aut++){
strActeur = strActeur + collectionacteur.item(aut).text + "<br />";
}

if(collectionfilm.item(i).getElementsByTagName("descriptif").length!=0){
strDescriptif = collectionfilm.item(i).getElementsByTagName("descriptif").item(0).text;
}else{
strDescriptif = "";
}

if(collectionfilm.item(i).childNodes(0).attributes(1)!=null){
strImage = collectionfilm.item(i).childNodes(0).attributes(1).nodeValue;
}else{
strImage = "blanc.jpg";
}

//Affichage sur la page Web

jaquette.innerHTML = "<img border='0' src='" + strImage + "' width='151' height='205'>";

film.innerHTML = "<span style='font: bold 14px;'>" + strTitre + "</span><br/>" + "<span>Référence : </span><span style='color: #ff6900'>" + strReference + "</span><br/>" + "<span>Acteur(s) : </span><br/><span style='font: bold 10px;'>" + strActeur + "</span><br/>"
+ "<span>Genre : </span><span>" + strGenre + "</span><br/>" + "<span>Descriptif : </span><span>" + strDescriptif + "</span>";

//Fin de la fonction
}
</SCRIPT> 
</HEAD>
<BODY onload="videotheque();" style="text-align: justify">
<xml id="fichierxml" src="fichierxml.xml"/>

<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="160" height="210" align="justify" valign="middle">
<span id="jaquette" style="font: 10px verdana;" />
</td>
<td align="justify" valign="top" style="font: 10px verdana">
<span id="film" style="font: 10px verdana;" />
</td>
</tr>
<tr>
<td style="font: 11px verdana" align="justify">
<a href="#" onclick="videotheque(i--)"> < Précédent</a> -
<a href="#" onclick="videotheque(i++)"> Suivant ></a>
</td>
<td>
</td>
</tr>
</table>

</BODY>
</HTML>

//VERSION VBSCRIPT

<HTML>
<HEAD>
<title>Exemple XML avec VBScript</title>
<SCRIPT language="VbScript">
Dim i
i=0
Function videotheque()
Set XMLDocument = CreateObject ("Microsoft.XMLDOM")
'Chargement du document XML
'Permet de charger entièrement le document en mémoire avant le traitement :
XMLDocument.async = "false"
XMLDocument.load("fichierxml.xml")
Set collectionfilm = XMLDocument.documentElement.getElementsByTagName("film")
nbrfilm = collectionfilm.length

'Variable
strActeur=""

'Lecture du fichier XML
strTitre = collectionfilm.item(i).childNodes(0).text
strGenre = collectionfilm.item(i).getElementsByTagName("genre").item(0).text
'Noeud de niveau 2
strReference = collectionfilm.item(i).childNodes(0).attributes(0).nodeValue

Set collectionacteur = collectionfilm.item(i).getElementsByTagName("acteur")
nbracteur = collectionacteur.length
y=0
for y = 0 to nbracteur - 1
strActeur = strActeur & collectionacteur.item(y).text + "<br />"
next

if collectionfilm.item(i).getElementsByTagName("descriptif").length <> 0 then
strDescriptif = collectionfilm.item(i).getElementsByTagName("descriptif").item(0).text
else
strDescriptif = ""
end if

if collectionfilm.item(i).childNodes(0).attributes(1).nodeValue <> "" then
strImage = collectionfilm.item(i).childNodes(0).attributes(1).nodeValue
else
strImage = "blanc.jpg"
end if

'Affichage sur la page web :

jaquette.innerHTML = "<img border='0' src='" & strImage & "' width='151' height='205'>"

film.innerHTML = "<span style='font: bold 14px;'>" & strTitre + "</span><br/>" & "<span>Référence : </span><span style='color: #ff6900'>" & strReference & "</span><br/>" & "<span>Acteur(s) : </span><br/><span style='font: bold 10px;'>" & strActeur & "</span><br/>" & _
"<span>Genre : </span><span>" & strGenre & "</span><br/>" & "<span>Descriptif : </span><span>" & strDescriptif & "</span>"

'Fin de la fonction
End Function
</SCRIPT> 
</HEAD>
<BODY onload="videotheque()" style="text-align: justify">

<table border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="100" height="100" align="justify" valign="middle">
<span id="jaquette" style="font: 10px verdana;" />
</td>
<td align="justify" valign="top" style="font: 10px verdana">
<span id="film" style="font: 10px verdana;" />
</td>
</tr>
<tr>
<td style="font: 11px verdana" align="justify">
<a href="#" onclick="videotheque()"> < Précédent</a> -
<a href="#" onclick="videotheque()"> Suivant ></a>
</td>
<td>
</td>
</tr>
</table>

</BODY>
</HTML>

Conclusion :


+ VOIR LE FICHIER XML DANS LE ZIP. Bon je rappel que je suis débutant et que j'essaye juste de contribuer au site afin d'aider d'autres débutants comme moi. Ok pour les PRO ce que je fais c'est clair que c'est bidon, il y a surment des erreurs, alors merci de bien vouloir m'aider car j'ai pas fait d'étude dans l'informatique, je suis juste un amateur mais j'aime bien l'informatique.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.