no con jdom mi devo preoccupare di chiudere il file xml!!comunque per certi versi sono riuscito a risolvere...
Codice PHP:
import java.io.File; // Gestione defi files
import java.io.FileOutputStream; // Flusso in uscita
import java.io.IOException; // Errori di I/O
import java.io.PrintStream; // Flusso per la stampa
import java.util.Iterator; // Strumento per la scanione di liste
import java.util.List; // Lista di oggetti
import org.jdom.Document; // Documento XML
import org.jdom.Element; // Singolo elemento XML
import org.jdom.JDOMException; // Errori sulla gestione XML
import org.jdom.input.SAXBuilder; // Costruttore di documenti XML
import org.jdom.output.XMLOutputter; // Scrittore di documenti XML
import org.jdom.output.Format; // Formato
import java.io.*;
public class XMLWrite{
Document agg_persona()throws IOException, JDOMException
{
BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dammi il nome");//aggiungo il nome in imput
System.out.print("=>");
String n = new String(d.readLine());
BufferedReader e = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dammi il cognome");//aggiungo il cognome in imput
System.out.print("=>");
String c = new String(e.readLine());
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dammi l'indirizzo");//aggiungo l'indirizzo in imput
System.out.print("=>");
String i = new String(r.readLine());
BufferedReader j = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dammi il numero di telefono");//aggiungo il numero di telefono in imput
System.out.print("=>");
String t = new String(j.readLine());
BufferedReader l = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dammi l'affinità");//aggiungo l'affinita in imput
System.out.print("=>");
String a = new String(l.readLine());
Element rubrica = new Element("rubrica"); //creo la radice del documento
Element nominativo = new Element("nominativo");//creo il nominativo da inserire
Element nome = new Element("nome"); nome.setText(n);//gli do il nome cognome in imput ecc
Element cognome = new Element("cognome"); cognome.setText(c);
Element indirizzo = new Element("indirizzo"); indirizzo.setText(i);
Element telefono = new Element("telefono"); telefono.setText(t);
Element affinita = new Element("affinita"); affinita.setText(a);
nominativo.addContent(nome);
nominativo.addContent(cognome);
nominativo.addContent(indirizzo);
nominativo.addContent(telefono);
nominativo.addContent(affinita);
Rubrica f = new Rubrica ();
f.scriviArrayList();
rubrica.addContent(nominativo); //chiudo il mio nominativo
return new Document(rubrica);
}}
questa classe serve solo ad aggiungere il nominativo e creare il mio documento da scrivere.
questa è il metodo dove sono contenuti tutti i miei nominativi...
Codice PHP:
public void scriviArrayList()
{
Iterator<Nominativo> itr = nominativi.iterator();
while (itr.hasNext())
{
Element nominativo = new Element("nominativo");//creo il nominativo da inserire
Element nome = new Element("nome"); nome.setText(itr.next().getnome());
Element cognome = new Element("cognome"); cognome.setText(itr.next().getcognome());
Element indirizzo = new Element("indirizzo"); indirizzo.setText(itr.next().getindirizzo());
Element telefono = new Element("telefono"); telefono.setText(itr.next().gettelefono());
Element affinita = new Element("affinita"); affinita.setText(itr.next().getaffinita());
nominativo.addContent(nome);
nominativo.addContent(cognome);
nominativo.addContent(indirizzo);
nominativo.addContent(telefono);
nominativo.addContent(affinita);
nominativo.addContent(nominativo);
}
xo secondo me sbaglio qualche cosa qui:
Codice PHP:
Rubrica f = new Rubrica ();
f.scriviArrayList();
perchè mi scrive solo il mio nominativo aggiunto!!