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 ».