J'ai un objet Employé avec les attributs :
String nom, String Prenom, List<Facture>
Un objet Facture avec les attributs :
String numero, String type
Je parcours un fichier XML et je récupère les informations pour remplir mes objets, à la fin du parse du fichier XML j'ai une liste d"employé
J'ai un soucis pour remplir ma List<Facture>
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 if (xmlEvent.isStartElement()){ StartElement startElement = xmlEvent.asStartElement(); if(startElement.getName().getLocalPart().equals("facture")){ facture = new Facture(); Attribute idAttr = startElement.getAttributeByName(new QName("numerofacture")); if(idAttr != null){ facture.setNumero(idAttr.getValue()); } Attribute idAttr2 = startElement.getAttributeByName(new QName("type")); if(idAttr2 != null){ facture.setType(idAttr2.getValue()); } }Le problème c'est que dans mon objet employé, j'ai les factures de tout on XML et non pas seulement d'un seul employé
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 if(xmlEvent.isEndElement()){ EndElement endElement = xmlEvent.asEndElement(); if(endElement.getName().getLocalPart().equals("facture")){ facList.add(facture); } } if(xmlEvent.isEndElement()){ EndElement endElement = xmlEvent.asEndElement(); if(endElement.getName().getLocalPart().equals("employe)){ emp.setListActe(facList); empList.add(emp); } } }
resultat que je voudrais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Liste emp = [numero= 1 type= acte1,* numero= 2 type= acte1_1,* numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY] Liste emp = [ numero= 1 type= acte1,* numero= 2 type= acte1_1,* numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY]]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Liste emp = [numero= 1 type= acte1,* numero= 2 type= acte1_1] Liste emp = [numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY]]
Et pourquoi quand je fais ça et que j'affiche faclist, ma liste de facture est vide ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(xmlEvent.isEndElement()){ EndElement endElement = xmlEvent.asEndElement(); if(endElement.getName().getLocalPart().equals("employe)){ emp.setListActe(facList); empList.add(emp); facList.clear();
Merci d'avance
Partager