Ciao ragazzi,
ho un problemone: sto scrivendo un parser di un file GPS (XML per la memorizzazione di waypoint su dispositivi GPS): devo scandire il file e memorizzare latitudine e longitudine di ogni waypoint.
La logica è la seguente: scandisco il file alla riceca del tag "trkpst" che ha due attributi, lat e lon: memorizzo i due valori in un array di stringhe lungo due, e poi aggiungo questo array di stringhe un un arraylist.
Il problema è che, quando stampo il contenuto dell'arraylist, mi stampa n volte (con n=size dell'arraylist) l'ultimo valore di lat e lon rilevato!!

I pezzi di codice sono i seguenti:
codice:
        ArrayList cont= new ArrayList();
	 String[] record=new String[2]; //trkpt ha solo 2 attributi
         String[] rec=new String[2];

if (elemento.toString().equals("trkpt")){
			for(int i=0; i < attributi.getLength(); i++) {
				record[i]=attributi.getValue(i).toString();
								
			}
			
			System.out.println("test "+ record[0].toString() +" " + record[1].toString());
			cont.add(record);
			System.out.println("finito di aggiungere");
			
			
		}
Sembbrerebbe funzionare perchè ogni volta che stampa la riga "test...." i valori di lat e lon sono corretti;

codice:
public void printAL(){
		for (int i=0; i<cont.size();i++){
			rec= (String[]) cont.get(i);
			System.out.println("Lat: " + rec[0].toString() + " Long: " +rec[1].toString());
		}
		
	}
Questo è il pezzo che stampa n volte (con n=cont.size) le ultime lat e lon.


Potete darmi una mano?

Grazie

Graziano