WebDev 21 : Les web services

Parcourir un fichier XML

Testez gratuitement nos 1304 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Dans cette séquence, vous allez apprendre à parcourir un fichier XML. Vous allez alors vous aidez du WLangage.
08:24

Transcription

Nous allons voir maintenant une autre méthode pour lire un fichier XML, plus exactement pour le parcourir. Donc, on va repartir sur notre page de test, celle de la vidéo précédente, on peut utiliser la même, je vais faire un Ctrl + W pour éclaircir la page, je vais agrandir un petit peu le champ, ici, pour qu'on puisse voir le contenu en entier, ce serait un peu mieux, voilà, comme ceci, je vais ajouter deux autres champs. Un premier qui va également contenir du texte multiligne, mais qui sera moins gros, l'idée, ici, ça va être de parcourir le fichier, qui sera là-dedans et d'en extraire, par exemple, les titres ou les auteurs, enfin, peu importe, donc, extraire plusieurs éléments à l'intérieur, que je mettrai donc, dans ce champ-là, pour vous donner un autre exemple, éventuellement, également, dans une combo. Donc, là, il me propose de créer une combo, que je vais remplir moi-même, ce que je vais prendre, ici, donc, classique, vous connaissez la création d'une combo, je rentre pas dans les détails, on continue, je ne la remplis pas ici, parce qu'elle sera remplie par la programmation, et je vais l'appeler « COMBO Titres », on va rester sur les titres, donc, ce sera Titres pour le contenu et ici aussi, Titres, donc voilà, ce sera rempli par le petit code que je vais ajouter, ainsi que le champ qui est en dessous, qui sera également rempli par le même code. Donc, avec les mêmes informations, mais c'est juste pour illustrer deux manières différentes de s'en servir. Donc, je vais ajouter, maintenant, le bouton qui va faire le travail, on va, par exemple, l'appeler Remplir, un petit F2, et on va, là aussi, taper du code, côté serveur, comme pour l'autre bouton. Alors, cette fois, nous allons utiliser une méthode complètement différente pour accéder au fichier XML, c'est-à-dire que nous n'avons pas besoin, avec cette méthode, du fichier intégré, ici, dans le projet. On va le laisser, évidemment, pour l'autre bouton mais vous allez voir qu'ici, les choses vont être faites différemment. Donc, la première chose à faire va être de déclarer le fichier XML. Alors, pour cela, on va utiliser une fonction qui s'appelle XMLDocument, cette fois, c'est une fonction, à laquelle on passe, dans un premier temps, le nom du document XML et ensuite le code lui-même, enfin, le contenu, plus exactement. Alors, le nom, c'est un nom qui va servir d'alias, c'est pas le nom du fichier, c'est pas le fichier auquel je vais accéder sur le disque, ça n'a rien à voir. C'est le nom que je donne au document XML dans le code. Comme c'est indiqué ici, ce nom sera utilisé par les autres fonctions XML. Donc, là, je l'appelle, par exemple, DocXML, alors, ce nom-là, par contre, il faut le mettre entre guillemets. En tout cas, avec cette syntaxe. Donc, par exemple, comme ceci, DocXML. Ensuite, je vais lui donner le contenu. Alors, le contenu, en l'occurrence, on le prend toujours au même endroit, on va le prendre dans le champ SAI_XML. La commande que vous voyez ici est sensée récupérer le contenu du champ SAI_XML et en faire un document XML en mémoire du code. Il est bon ici, de tester les erreurs, on ne sait jamais, c'est pas obligatoire, évidemment, mais toutes ces fonctions ont tendance à être très peu bavardes, et, en cas d'erreur, à ne rien renvoyer du tout. Donc, ça ne va pas marcher mais vous n'aurez pas de message d'erreur, vous ne saurez pas ce qu'il se passe. Donc, ce qui peut être intéressant, c'est de faire un « si pas », sachant que cette fonction envoie vrai ou faux, selon que ça se passe bien ou pas, donc, si cela se passe bien, cela renvoie vrai, évidemment, donc, si pas, c'est faux, quand c'est faux, quand cela s'est mal passé on va afficher un petit message. Alors, peut-être que vous feriez cela en période de test, c'est à vous de voir. Soit vous affichez un message à l'utilisateur, soit c'est pour vous, et vous voulez faire un test, par exemple, ici, je peux utiliser un « trace ». Si c'est en cours de développement, c'est très pratique, le « trace », je suppose que vous connaissez, cela permet d'afficher un texte, dans une fenêtre jaune, en cours de développement. Voilà, et là, je vais écrire, « Problème de lecture XML », par exemple. Si vous voulez en savoir un peu plus, vous ajoutez, derrière, « ErreurInfo ». « ErreurInfo ». « errComplet », comme cela, vous avez tout. Donc, là, on part du principe que si on arrive ici, s'il y a une erreur, il faudrait peut-être ressortir, ce serait plus logique, donc on fait un retour. Donc, effectivement, si on part du principe que si on arrive ici, c'est que cela s'est bien passé et que le contenu a bien été lu, et été interprété comme du XML. Maintenant, je vais parcourir ce document et lire les différents champs qui m'intéressent, les différentes sections, balises qui m'intéressent. Auparavant, je vais vider le champ Combo, au cas où il soit déjà rempli, que j'ai déjà cliqué sur le bouton, bon, c'est juste pour la notion de test, je dirais. Donc, je vais faire un « listeSupprimeTout », voilà, du champ Combo, c'est une petite sécurité pour vous, et maintenant, je vais faire une recherche dans le fichier XML. Alors, on va utiliser une autre fonction qui s'appelle XMLRecherche, sur le document. Donc, je vais taper, ici, « XMLRecherche », le nom du document XML, donc, il a trouvé de lui-même, il a compris ce que je faisais auparavant, la valeur recherchée, alors, la valeur recherchée, il s'agit, en fait, de la balise, plus exactement. Donc là, le but, c'est de chercher une balise et ensuite de parcourir, de trouver toutes les balises identiques. Bon, sachant que mon idée, c'était de récupérer les titres, ce que je veux récupérer c'est donc « booktitle ». Je ne l'invente pas, il faut regarder le fichier XML, rappelez-vous, dans ce fichier, la balise correspondant au titre du livre s'appelle BookTitle. Derrière, je peux ajouter des options, la première option me permet d'indiquer, justement, quel type d'information je cherche, en l'occurrence, moi je suis sur les balises, donc c'est XMLBalise, cela aurait pu être un autre élément, un sous-élément, un attribut, etc., mais là, c'est bien une balise que je cherche, puis, j'ajoute une virgule et là, je vais préciser de quelle manière je fais ma recherche. En l'occurrence, je fais une recherche exacte, puisque j'ai mis le nom complet de la balise, donc il n'y a pas de problèmes, c'est XMLExact. Donc là, je cherche la première balise s'appelant BookTitle. Là aussi, cette fonction renvoie vrai ou faux. Donc, je pourrais éventuellement tester, s'il ne trouve pas, je sors, je ne vais pas plus loin. Il y a une autre façon de faire, puisqu'ici, je vais parcourir toutes les balises du même type. Donc, ce que je peux faire, maintenant, c'est une boucle, ce sera un « tant que », un « tant que XML trouve » donc, encore une fonction, « XMLTrouve », sur le fichier que je suis en train de parcourir, donc, tant que XML trouve, alors, qu'est-ce que je fais ? Eh bien, je vais récupérer la valeur et ensuite, je vais passer au suivant, évidemment. Alors, récupérer la valeur, j'ai deux lignes à ajouter, puisqu'en fait, mon but, ici, est de remplir deux champs, celui de la combo, est celui qui est en dessous, alors, pour la combo, je vais utiliser « ListeAjoute », sur la combo, il devine tout, voyez, et je vais récupérer, donc, la valeur, maintenant, des données de la balise, et j'utilise encore une autre fonction qui s'appelle XMLDonnée. XMLDonnées du dock XML, c'est suffisant, je ferme la parenthèse, et maintenant, je vais simplement remplir l'autre champ, qui s'appelle SAI_Texte1, normalement, donc j'ajoute à lui-même, c'est le « += », j'ajoute donc la même chose que ce que j'ai au-dessus, donc XMLDonnée, du docXML, voilà, plus un retour chariot, pour qu'il les sépare d'un retour chariot, dans la mesure où il va en ajouter plusieurs, autant qu'ils soient un à la suite de l'autre. Et bien sûr, je n'oublie pas, surtout, de passer au document suivant, en faisant un XMLSuivant, alors, j'ai dit document, c'est, en fait, balise suivante, évidemment, un petit peu comme quand on parcourt un fichier avec les enregistrements, si vous voulez. Voilà, normalement je suis sensé terminer avec un XMLTermine, pour fermer le fichier, ce n'est pas indispensable, mais on va le faire. On va tester tout cela, on va voir ce que ça donne, on va tester cette fenêtre, je vais, à nouveau, coller, évidemment, le contenu de mon fichier, je clique sur le bouton remplir et voilà, cela fonctionne à merveille, il a rempli la combo et il a rempli le champ, avec les titres.

WebDev 21 : Les web services

Créez et utilisez les web services et les services REST avec WebDev. Donnez l’accès à vos données et à vos services aux applications externes qui devront les utiliser.

1h59 (21 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
WebDev WebDev 21
Spécial abonnés
Date de parution :13 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !