boysna
09-06-2006, 12:49
Ciao ragazzi.
Apro questo post per cercare risposta a tutti i problemi in cui potrei imbattermi ora che sto affrontando approfonditamente JDom.
Ovviamente chiunque potrà postare qui per i suoi problemi e chi potrà essere d'aiuto (spero anch'io) potrà intervenire.
Il mio primo problema è questo: ho creato una classe java con un metodo per aggiungere un tag a un file xml esistente ma il file non viene modificato.
Questa è la classe:
public class GestioneProdotti {
private String completePath, databasePath = "\\Database\\prodotti.xml";
Document document;
Element root;
public GestioneProdotti(String applicationPath) {
try {
SAXBuilder builder = new SAXBuilder();
completePath = applicationPath + databasePath;
document = builder.build(completePath);
}
catch (Exception e) {
e.printStackTrace();
}
}
public void inserisciDaForm(int taglia, String colore, String marca, int disponibilita,
int scorta_minima, int prezzo_vendita, int prezzo_acquisto)
throws IOException {
//Prendo il root del file
Element root = document.getRootElement();
//Creazione tag figli del tag prodotti
Element tagliaElement = new Element("taglia");
Element coloreElement = new Element("colore");
//Settaglio del testo di tali tag
tagliaElement.setText("" + taglia);
coloreElement.setText(colore);
//Creazione del nuovo tag prodotto
Element newprodotto = new Element("prodotti");
//Aggiunta dei tag figli al nuovo tag prodotto
newprodotto.addContent(tagliaElement);
newprodotto.addContent(coloreElement);
//Aggiunta del nuovo tag prodotti al root
root.addContent(newprodotto);
document.setRootElement(root);
XMLOutputter outputter = new XMLOutputter();
outputter.output(document, System.out);
}
}
E questo il file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "prodotti.dtd">
<root>
<prodotti>
<taglia>43</taglia>
<colore>rosso</colore>
<marca>Nike</marca>
<disponibilita>3</disponibilita>
<scorta_minima>1</scorta_minima>
<prezzo_vendita>60</prezzo_vendita>
<prezzo_acquisto>50</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>44</taglia>
<colore>nero</colore>
<marca>Nike</marca>
<disponibilita>10</disponibilita>
<scorta_minima>6</scorta_minima>
<prezzo_vendita>100</prezzo_vendita>
<prezzo_acquisto>57</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>48</taglia>
<colore>rosso</colore>
<marca>Puma</marca>
<disponibilita>13</disponibilita>
<scorta_minima>10</scorta_minima>
<prezzo_vendita>60</prezzo_vendita>
<prezzo_acquisto>20</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>40</taglia>
<colore>giallo</colore>
<marca>Adidas</marca>
<disponibilita>4</disponibilita>
<scorta_minima>1</scorta_minima>
<prezzo_vendita>77</prezzo_vendita>
<prezzo_acquisto>45</prezzo_acquisto>
</prodotti>
</root>
Apro questo post per cercare risposta a tutti i problemi in cui potrei imbattermi ora che sto affrontando approfonditamente JDom.
Ovviamente chiunque potrà postare qui per i suoi problemi e chi potrà essere d'aiuto (spero anch'io) potrà intervenire.
Il mio primo problema è questo: ho creato una classe java con un metodo per aggiungere un tag a un file xml esistente ma il file non viene modificato.
Questa è la classe:
public class GestioneProdotti {
private String completePath, databasePath = "\\Database\\prodotti.xml";
Document document;
Element root;
public GestioneProdotti(String applicationPath) {
try {
SAXBuilder builder = new SAXBuilder();
completePath = applicationPath + databasePath;
document = builder.build(completePath);
}
catch (Exception e) {
e.printStackTrace();
}
}
public void inserisciDaForm(int taglia, String colore, String marca, int disponibilita,
int scorta_minima, int prezzo_vendita, int prezzo_acquisto)
throws IOException {
//Prendo il root del file
Element root = document.getRootElement();
//Creazione tag figli del tag prodotti
Element tagliaElement = new Element("taglia");
Element coloreElement = new Element("colore");
//Settaglio del testo di tali tag
tagliaElement.setText("" + taglia);
coloreElement.setText(colore);
//Creazione del nuovo tag prodotto
Element newprodotto = new Element("prodotti");
//Aggiunta dei tag figli al nuovo tag prodotto
newprodotto.addContent(tagliaElement);
newprodotto.addContent(coloreElement);
//Aggiunta del nuovo tag prodotti al root
root.addContent(newprodotto);
document.setRootElement(root);
XMLOutputter outputter = new XMLOutputter();
outputter.output(document, System.out);
}
}
E questo il file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "prodotti.dtd">
<root>
<prodotti>
<taglia>43</taglia>
<colore>rosso</colore>
<marca>Nike</marca>
<disponibilita>3</disponibilita>
<scorta_minima>1</scorta_minima>
<prezzo_vendita>60</prezzo_vendita>
<prezzo_acquisto>50</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>44</taglia>
<colore>nero</colore>
<marca>Nike</marca>
<disponibilita>10</disponibilita>
<scorta_minima>6</scorta_minima>
<prezzo_vendita>100</prezzo_vendita>
<prezzo_acquisto>57</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>48</taglia>
<colore>rosso</colore>
<marca>Puma</marca>
<disponibilita>13</disponibilita>
<scorta_minima>10</scorta_minima>
<prezzo_vendita>60</prezzo_vendita>
<prezzo_acquisto>20</prezzo_acquisto>
</prodotti>
<prodotti>
<taglia>40</taglia>
<colore>giallo</colore>
<marca>Adidas</marca>
<disponibilita>4</disponibilita>
<scorta_minima>1</scorta_minima>
<prezzo_vendita>77</prezzo_vendita>
<prezzo_acquisto>45</prezzo_acquisto>
</prodotti>
</root>