Manipuler un arbre DOM en Java

Question 2

Question

Gérer dans la fonction addSejour, l'ajout d'un nouveau patient.

Solution
1
public static void addSejour(String idPersonne, String dDebut, String dFin, String content){
2
		String expression = "/hopital/pensionnaires/patient[@personneId=" + idPersonne + "]";
3
		Element sejour = hopital.createElement("sejour");
4
		
5
		Attr ddebut = hopital.createAttribute("ddebut");
6
		ddebut.setValue(dDebut);
7
		
8
		Attr dfin = hopital.createAttribute("dfin");
9
		dfin.setValue(dFin);
10
		
11
		sejour.setAttributeNode(ddebut);
12
		sejour.setAttributeNode(dfin);
13
		sejour.setTextContent(content);
14
		try {
15
			Element patient = (Element) xPath.compile(expression).evaluate(hopital, XPathConstants.NODE);
16
			if(patient == null){
17
				System.out.println("Le patient " + idPersonne + " n'existe pas encore\n");
18
				
19
				Element newPatient = hopital.createElement("patient");
20
				Attr personneId = hopital.createAttribute("personneId");
21
				personneId.setValue(idPersonne);
22
				newPatient.setAttributeNode(personneId);
23
				
24
				Element newInternements = hopital.createElement("internements");
25
				newInternements.appendChild(sejour);
26
				newPatient.appendChild(newInternements);
27
				
28
				Element pensionnaires = (Element) xPath.compile("/hopital/pensionnaires").evaluate(hopital, XPathConstants.NODE);
29
				pensionnaires.appendChild(newPatient);
30
			} else {
31
				System.out.println("Le patient " + idPersonne + " existe deja\n");
32
				
33
				patient.getElementsByTagName("internements").item(0).appendChild(sejour);
34
			}
35
		} catch (XPathExpressionException e) {
36
			System.out.println("XPathExprressionException : " + e.getMessage());
37
			e.printStackTrace();
38
		}
PrécédentPrécédentFin
AccueilAccueilImprimerImprimer Kévin JEZEQUELL, 2014 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)