j'ai un fichier XML :
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>
je veux calcule la somme des valeurs de l'attribut « montant » pour chaque client pour avoir ce résultat :
Nom du client: Jean Charles
Somme: 1700
Nom du client: Pierre Élisabeth
Somme: 3400
voila mon programme :
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
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 nl = racine.getElementsByTagName("client");
    for (int i = 0; i < nl.getLength(); ++i) {
       Element client = (Element) nl.item(i);
       NodeList tnom = client.getElementsByTagName("client");     
       Element nom = (Element) tnom.item(0); 
       System.out.println("nom du client :" +client.getAttribute("nom"));
       NodeList mn = doc.getElementsByTagName("transaction");     
       System.out.println("somme :" +mn.getLength("montant"));
 
 }
}
 }
j'ai réussie a avoir les nom des clients mes je connais pas la fonction vraiment qui peu calculer les sommes des montants avec DOM merci pour votre aide .