Bonjour à tous,
j'aimerais savoir à quoi ressemblerait le code en xslt qui puisse obtenir le même résultat que celui-ci en java.
Merci d'avance pour vos réponses.
Code xml:
code java:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="ISO-8859-1" ?> <liste> <client nom="Jean Charles"> <transaction montant="500" /> <question>Quelle est la dernière marque?</question> <transaction montant="1200" /> </client> <client nom="Pierre Élisabeth"> <transaction montant="600" /> <transaction montant="800" /> <question>Où puis-je trouver le modèle 2002?</question> <transaction montant="2000" /> </client> </liste>
Le résultat obtenu :
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 import org.w3c.dom.*; import javax.xml.parsers.*; public class Transactions { public static void main(String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder parser = factory.newDocumentBuilder(); Document doc = parser.parse(args[0]); Element racine = doc.getDocumentElement(); NodeList clients = racine.getElementsByTagName("client"); for (int i = 0; i < clients.getLength(); i++) { Element client = (Element) clients.item(i); String nom = client.getAttribute("nom"); NodeList transactions = client.getElementsByTagName("transaction"); int totalTrasactions = 0; for(int j=0; j<transactions.getLength(); j++) { try { Element transaction = (Element) transactions.item(j); int montant = Integer.parseInt(transaction.getAttribute("montant")); totalTrasactions += montant; }catch(Exception e) { e.printStackTrace(); } } System.out.println(nom+" : "+totalTrasactions); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Nom du client: Jean Charles Somme: 1700 Nom du client: Pierre Élisabeth Somme: 3400
Partager