Creating kml-file in while-loop

82 views
Skip to first unread message

Michi Gorkow

unread,
Dec 5, 2012, 6:15:52 PM12/5/12
to javaap...@googlegroups.com
Hi Guys,

I am working on a little Java-tool to create a kml-file with values from an excel-sheet.
My program loops through my excel-sheet and should create one placemark for each entry but in my kml-file, there is only one placemark with the data of the last entry in my excel-sheet.
Does someone know, why only the last entry is written into the kml-file?

Thanks!

PS: The code is really crap but I am new to Java :P

public void createKML() throws IOException{
        int zeile = 0;
       
        Kml kml = new Kml();
        kml.createAndSetDocument();
        CSVReader reader = new CSVReader(new FileReader("kmlVorlage.csv"), ';');
        String [] nextLine;   
            //extendedData
            while ((nextLine = reader.readNext()) != null) {
                List<Data> list = new ArrayList<Data>();
                ExtendedData extendedData = new ExtendedData();
           
            String name = retkundennummer(String.valueOf(zeile));
            String kundennummer = retname(String.valueOf(zeile));
            String land = retland(String.valueOf(zeile));
            String postleitzahl = retpostleitzahl(String.valueOf(zeile));
            String ort =retort(String.valueOf(zeile));
            String location = retlocation(String.valueOf(zeile));
            String notizen =retnotizen(String.valueOf(zeile));
            String image =retimage(String.valueOf(zeile));
           
            Data dname = new Data("");
            dname.setName("Kundennummer:");
            dname.setValue(name);

            Data dland = new Data("");
            dland.setName("Land:");
            dland.setValue(land);

            Data dort = new Data("");
            dort.setName("Ort:");
            dort.setValue(ort);

            Data dpostleitzahl = new Data("");
            dpostleitzahl.setName("Postleitzahl:");
            dpostleitzahl.setValue(postleitzahl);

            Data dnotizen = new Data("");
            dnotizen.setName("Notizen:");
            dnotizen.setValue(notizen);

            Data dimage = new Data("");
            dimage.setName("Image:");
            dimage.setValue(image);
           
            list.add(dname);
            list.add(dland);
            list.add(dort);
            list.add(dpostleitzahl);
            list.add(dnotizen);
            //list.add(dimage);
            extendedData.withData(list);
            //Ende extendedData
            kml.createAndSetPlacemark()
            .withName(kundennummer)
            .withStyleUrl("#BasicStyle")
            .withDescription(notizen)
            .withExtendedData(extendedData)
            .withAddress(location);
            zeile = zeile +1;
            System.out.println("test");
        }
            kml.marshal(new File("HelloKml.kml"));
    }

Reply all
Reply to author
Forward
0 new messages