Antes de nada, gracias a los dos por la ayuda..pero todavia no soy capaz.. He modificado el codigo para llegar a: String lugar="madrid"; URL u = new URL("http://gazetteer.openstreetmap.org/namefinder/search.xml?find=<" + lugar + ">&max=20&any=1"); URLConnection s = u.openConnection(); System.out.println(u.getFile()); //Leer la página BufferedReader paginaHtml; paginaHtml = new BufferedReader(new InputStreamReader(u.openStream(),"UTF8"));
FileOutputStream fichero = null; PrintWriter pw = null; fichero=new FileOutputStream("directorio" + "\\" + "lugares.osm"); pw = new PrintWriter(new OutputStreamWriter(fichero, "UTF8")); String cadena=""; while ((cadena = paginaHtml.readLine()) != null) { pw.println(cadena.toString()); System.out.println(cadena); } Y me sigue creando el archivo xml mal, internet Explorer no me lo abre y Mozilla lo hace pero dandome un error..A ver si podeis ver algo. Gracias otra vez Alberto Fernández wrote: > > Creo que vienen en UTF-8, asi que a la hora de leerlos: > > paginaHtml = new BufferedReader(new > InputStreamReader(u.openStream(), "UTF-8")); > > Pasarle el charset como segundo parámetro al InputStreamReader (ahora > mismo no se si le gustará más "UTF-8" o "utf8") > > y para escribirlo: > > pw = new PrintWriter(new OutputStreamWriter(fichero, "UTF-8")); > > Espero que te sirva. > > De todas formas, si vas a leer y escribir directamente sin leer nada, > mejor que uses BufferedInputStream y BufferedOutputStream directamente, > olvidandote de los charsets. > > El lun, 16-02-2009 a las 23:40 +0100, Iván Sánchez Ortega escribió: >> El Lunes, 16 de Febrero de 2009, konan1986 escribió: >> > Pues la verdad es que no lo sé..lo unico que hago es lo que pongo de >> > codigo..no sé muy bien como tratar el texto de las formas que >> dices..como >> > podria ponerlo?? y cual deberia usar? >> >> Depende del parser de XML que uses... Fíjate si en la cabecera de tu XML >> va un >> <?xml encoding='UTF-8'?> o algo por el estilo. Mira si tu párser de XML >> reconoce esa etiqueta, y/o le puedes forzar una codificación (no sé cómo >> se >> hace en Java). >> >> Todo lo que viene de OSM debería ser UTF-8 bien formado, salvo error. >> >> En el peor de los casos, creo que podrías usar "tidy" para pasar los >> caracteres no-ascii a entidades de XML, pero ahora mismo no sé cómo se >> haría. >> >> >> >> _______________________________________________ >> Talk-es mailing list >> Talk-es@openstreetmap.org >> http://lists.openstreetmap.org/listinfo/talk-es > > > _______________________________________________ > Talk-es mailing list > Talk-es@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-es > > -- View this message in context: http://www.nabble.com/Crear-un-XML-bajandolo-de-osm-tp22035407p22103621.html Sent from the OpenStreetMap - Spanish Talk mailing list archive at Nabble.com. _______________________________________________ Talk-es mailing list Talk-es@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-es