Bonjour!
J' ai un fichier "achat.txt" qui contient chaque achat sur une ligne avec des informations séparées par des virgules.
J'ai un fichier "inventaire.XML" qui contient mon inventaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Jean Charles, 3214324565, 321, 2 Yvan Richard, 5435435545, 321, 1 Yvette Gagnon, 4324324243, 1, 12
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="ISO-8859-1"?> <inventaire> <produit code="1" prix="432.00" quantité= "43" /> <produit code="32" prix="32.00" quantité= "100" /> <produit code="321" prix="31.00" quantité= "200" /> </inventaire>
Je doit écrire un programme en JDOM qui met à jour l'inventaire en tenant compte du fichier "achats.txt".La mise à jour ne concerne uniquement l'attribut "code" et "quantité" du fichier "achats.txt". La commande que je devrais utilisé avec java est:"java Inventaire achats.txt inventaire.xml"
je sais que mon programme aura l'allure suivante:
Je sais également que je vais devoir utilisé la classe "BufferedReader" pour récupérer le flux de donnée du fichier "achats.txt". Néanmoins, je ne sais pas comment récupérer l'attribut "code" et "quantité" puis les soustraire à l'inventaire.
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 import org.w3c.dom.*; import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; public class Inventaire { public static void main(String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder parser = factory.newDocumentBuilder(); Document doc = parser.parse("inventaire.xml"); Element racine = doc.getDocumentElement(); NodeList nl = racine.getChildNodes(); if(args[0].equals("modifier")) { for (int k = 0; k < nl.getLength(); ++k) { if(nl.item(k).getNodeType()==Node.ELEMENT_NODE) { Element e = (Element) nl.item(k); if(e.getAttribute("nom").equals(args[1])) { e.getParentNode().removeChild(e); } } }
Merci de votre intention.
Partager