View Single Post
Old 22-12-2007, 18:15   #1
misterxxitalia
Member
 
Iscritto dal: Dec 2007
Messaggi: 277
[Java] aggiunta entry a file XML

ciao a tutti sto cercando di aggiunge un nominativo che gli do in imput io ovvero del tipo...

Codice PHP:
<nominativo>
<
nome>Maria</nome>
<
cognome>Bianchi</cognome>
<
indirizzo>via Garibaldi 94/ATorino</indirizzo>
<
telefono>01112045678</telefono>
<
affinita>conoscente</affinita>
</
nominativo>
</
rubrica
ed aggiungerlo ad un file xml gia esistente.ora per motivi pratici "l'aggiunta" vuol dire prelevare tutti i nominativi esistenti dall'xml, caricarli in un vettore del tipo...

Codice PHP:
{
    private 
ArrayList<Nominativonominativi;

    public 
Rubrica ()
    {
        
nominativi = new ArrayList<Nominativo> ();
    } 
dove per nominativo si intende:
Codice PHP:
Nominativo (String nomeString cognomeString indirizzoString telefonoString affinita
aggiungere il mio nominativo e riscrivere il tutto da capo.questa è la mia bozza di classe che ho scritto:

Codice PHP:
public class XMLWrite{

Document agg_persona()throws IOExceptionJDOMException
{

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.addContent(nominativo); //chiudo il mio nominativo

 
Iterator<Nominativoitr nominativi.iterator();//creo un iteratore dove riversargli tutti i vecchi nominativi
  
while (itr.hasNext()) 
  {
    
Element nominativo1 = new Element("nominativo");//creo il nominativo da inserire
Element nome = new Element("nome"); nome.setText(r.getnome());
Element cognome = new Element("cognome"); cognome.setText(r.getcognome());
Element indirizzo = new Element("indirizzo"); indirizzo.setText(r.getindirizzo());
Element telefono = new Element("telefono"); telefono.setText(r.gettelefono());
Element affinita = new Element("affinita"); affinita.setText(r.getaffinita());
    
rubrica.addContent(rubrica);//chiudo il documento
return new Document(rubrica);

dove per getnome():

Codice PHP:
public String getnome()
{
return 
nome;

il mio problema è che l'iteratore non mi accetta i metodi getnome() ecc..
Codice PHP:
Element nominativo1 = new Element("nominativo");//creo il nominativo da inserire
Element nome = new Element("nome"); nome.setText(r.getnome());
Element cognome = new Element("cognome"); cognome.setText(r.getcognome());
Element indirizzo = new Element("indirizzo"); indirizzo.setText(r.getindirizzo());
Element telefono = new Element("telefono"); telefono.setText(r.gettelefono());
Element affinita = new Element("affinita"); affinita.setText(r.getaffinita()); 
chi mi sa dire il perche?e cosa posso fare??
misterxxitalia è offline   Rispondi citando il messaggio o parte di esso