Le blog de Bastien

Le blog de Bastien

Création de compte utilisateur via un fichier xml sur une BDD

Ce tp a pour but d'envoyer des informations d'un fichier XML pour les stocker dans une base de donnée par exemple. Les éléments peuvent être de type (int, String, Date...) entre autre tout élément qui peut être stocké dans une base de donnée appropriée.

 

Voici le modèle du projet :

projetcompte1.png

 

Tout d'abord, on crée une DTD (Document Type Definition), c'est-à-dire une grammaire permettant de vérifier la conformité du document XML. Ainsi en entrant plusieurs éléments et attributs dans ce fichier, comme ceci :

dtd.png

Nous obtenons à partir de ce fichier, le fichier xml suivant (avec ce shéma) :

 

xml.png


En remplissant le champ entre les balises XML nous pouvons avoir des informations à "parser". Ensuite dans le package modèle les classes Role et Compte sont déclarées comme Entity car elles seront par la suite les 2 tables de notre base de donnée. Elles déclarent simplement des attributs et des constructeurs de la classe.

azaz.png

azaz1.png

 

 

La méthode characters() permet de récupérer les valeurs PCDATA, c'est à dire celles encapsulées dans les balises (ouvrante et fermante).

 

methodechara.png

 

Ensuite, la méthode startElement()

startElement.png

 

Ensuite, on appelle la méthode enregistrer() qui permet de faire "persiter" les éléments enregistrés dans les objets.

 

public void endElement(String url, String localName, String qName) throws SAXException {
        
        if(qName.equals("compte"))
            fabrique.enregistrer(compteCourant);
        
        if(qName.equals("role"))
            compteCourant.addRole(roleCourant);
        

}
   

En résumé la méthode startElement() est appelée lorsque SAX détecte une balise ouvrante et endElement() lorsque SAX détecte la fin d'une balise fermante.



27/04/2014
0 Poster un commentaire

A découvrir aussi


Ces blogs de Informatique & Internet pourraient vous intéresser

Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour