IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

lire attributs d'un objet à partir de fichier XML


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 172
    Points : 55
    Points
    55
    Par défaut lire attributs d'un objet à partir de fichier XML
    bonjour tous le monde,
    mon problème est comme suit :

    j'ai une classe Personne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class Personne {
    string nom, metier, description;
    public Personne (string a , string b){
    nom = a;     metier= b;}
    public void affiche (){
    System.Out.Println ("la personne avec le nom"+this.nom+" peut "+this.description);}
    la description de la métier de chaque personne est sauvegarder dans un fichier XML, je veux à la création d'une instance de classe Personne, selon la métier décrite je peut lire à partir du fichier XML la description de la métier et la sauvegarder dans l'attribut description.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main(String[] args) { 
    Personne p1 = new personne ("sophie", "medecin");
    p1.affiche();
     }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version= "1.0" encoding= "ISO-8859-1"?>
    <profession>
    <personnes>
       <personne id="P2">
          <nom>Marie</nom>
          <metier>ingenieur</metier>
          <description> il fabrique des logiciels     </description>
     
       </personne>
    <personne id="P1">
          <nom>Sophie</nom>
          <metier>medecin</metier>
          <description>il soigne les malades </description>
       </personne>
    </personnes>
    </profession>
    je suis débutante en java, j'ai lu des articles sur net à propos java et xml , mais à se stade je me bloque.

    merci pour toute aide

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    je procederais ainsi:

    classe Personne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Personne {
    string nom, metier, description;
    public Personne (string a , string b){
    nom = a;     metier= b;}
     
    public void toString(){
    System.Out.Println ("la personne avec le nom"+this.nom+" peut "+this.description);}
    classe PersonneWrapper
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @XmlRootElement(name = "personnes")
    public class PersonneListWrapper {
     
        private List<Person> persons;
     
        @XmlElement(name = "personne")
        public List<Person> getPersons() {
            return persons;
        }
     
        public void setPersons(List<Person> persons) {
            this.persons = persons;
        }
    }
    et dans la main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public static void main(String[] args) { 
    Personne p1 = findPersonByObject ("sophie", "medecin");
    if(p1 != null)
    p1.affiche();
     }
     
    public Personne findPersonByObject(String nom, String metier)
    	{
                    Personne person;
    		if(person == null)
    			return ;
    		if(personData.size() == 0 )
    		{
    			loadPersonDataFromFile(new File("personne.xml"));
    		}
    		personData.stream().forEach((personne) -> {
     
    			if(personne.getNom().equals(nom) && personne.getMetier().equals(metier))
    			{
    				person = personne;
    			}	
    		});
               return person;
    	}
     
    public void loadPersonDataFromFile(File file) {
    	    try {
    	        JAXBContext context = JAXBContext
    	                .newInstance(PersonListWrapper.class);
    	        Unmarshaller um = context.createUnmarshaller();
     
    	        // Reading XML from the file and unmarshalling.
    	        PersonListWrapper wrapper = (PersoneListWrapper) um.unmarshal(file);
     
    	        personData.clear();
    	        personData.addAll(wrapper.getPersons());
     
     
    	    } catch (Exception e) { // catches ANY exception
    	        System.out.println("Could not load data");
    	        System.out.println("Could not load data from file:\n" + file.getPath());
     
     
    	    }
    	}
    eric

Discussions similaires

  1. Lire à partir un fichier xml
    Par habiba34 dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 28/06/2011, 00h45
  2. Récupérer l'attribut d'un objet à partir d'une servlet
    Par Road.Runner dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 21/06/2009, 19h13
  3. ComboBox dynamique à partir de fichier XML
    Par ikeaboy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/07/2006, 09h54
  4. [C#]Datagrid à partir de fichier XML(non formaté)
    Par nutball dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/07/2006, 23h25
  5. [SAX] Passer d'objet java en fichier XML?
    Par spoutyoyo dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 05/01/2005, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo