Vous devez activer Javascript pour accéder à ce site
 

Semaine

RECHERCHE

Problèmes résolus

Deux problèmes avec solution

Pour vous aider à maîtriser le modèle DOM, nous vous proposons deux problèmes et une solution possible pour chacun.

Problème 1

Créez une classe « Arbre » (fichier « Arbre.java ») qui donne l'arbre DOM d'un document XML. Pour chaque nœud, donnez son nom et sa valeur (indices : « getNodeName », « get NodeValue »). Enfin, indentez les nœuds selon le nombre de parents qu'ils ont.

Ainsi, étant donné le fichier « test.xml » suivant :

<?xml version="1.0"  encoding="ISO-8859-1" ?>
 <joueur><nom surnom="jojo">Jean</nom><buts>32</buts></joueur>

La commande « java Arbre test.xml » devrait afficher à l'écran le résultat suivant :

 Nom: #document Valeur: null
      Nom: joueur Valeur: null
       Nom: nom Valeur: null
          Nom: #text Valeur: Jean
       Nom: buts Valeur: null
   Nom: #text Valeur: 32

Problème 2

Nous pouvons utiliser un fichier XML comme archive d'une base de données primitive. Cette fois-ci, nous vous demandons d'écrire un programme qui permet de chercher, d'effacer et d'ajouter des noms dans un bottin téléphonique.

Stockez les numéros dans un fichier XML nommé « bottin.xml » et ayant le contenu qui suit :

<?xml version="1.0" encoding="ISO-8859-1"?>
 <bottin>
    <personne nom="Jean Réjean" téléphone="432-4421" />
    <personne nom="Jules Desche" téléphone="432-4332" />
 </bottin>

Concevez un programme dont le code source sera contenu dans un fichier nommé « Bottin.java ». Votre programme doit posséder les trois fonctions suivantes :

  • « java Bottin efface "Jean Réjean" » : élimine du fichier « bottin.xml » tout élément « personne » ayant comme attribut « nom="Jean Réjean" ».
  • « java Bottin cherche "Jean Réjean" » : donne le numéro de téléphone correspondant au nom donné à partir du contenu du fichier « bottin.xml », et ne retourne rien si le nom donné n'est pas trouvé.
  • « java Bottin ajoute "Jean Réjean" 432-4421 » : fait en sorte que le nom « Jean Réjean » soit associé au seul numéro de téléphone « 432-4421 ».

Vous pouvez supposer que le fichier « bottin.xml » existe et se trouve dans le même répertoire que le fichier « Bottin.java ». Vous pouvez également supposer que l'élément-racine est « bottin ».


© Daniel Lemire, 2014. Tous droits réservés.