Hola otra vez despues de bastante tiempo..
A ver..sigo con el mismo problema para poder conseguir un XML correcto...el
problema es que para algunas ciudades va correctamente (barcelona,
sevilla,..) y para otras ...nada de nada...jeje (madrid)..
Mi intuicion me dice que es por algo de tildes..por que sino..porqué podría
ser?? Por la latitud que le doy al mapa(lat, lon,..)?!?
Gracias

Alberto Fernández wrote:
> 
> El código que has puesto me funciona perfectamente, salvo quizás porque
> no cierras al final los flujos
> 
>               paginaHtml.close();
>               pw.flush();
>               pw.close();
> 
> con esto el firefox lo abre perfectamente,
> da un mensaje de "Este fichero XML no parece tener ninguna información
> de estilo asociada. Se muestra debajo el árbol del documento." y muestra
> el árbol de forma perfecta.
> 
> 
> De todas formas, si simplemente vas a descargar, este código es mucho
> más sencillo (y no te tienes que pelear con las codificaciones,
> simplemente descargas)
> 
>               String lugar = "madrid";
>               URL u = new URL(
>                               
> "http://gazetteer.openstreetmap.org/namefinder/search.xml?find=<"
>                                               + lugar + ">&max=20&any=1");
>               URLConnection s = u.openConnection();
>               
>               BufferedInputStream bis = new 
> BufferedInputStream(s.getInputStream());
>               BufferedOutputStream bos = new BufferedOutputStream(new
> FileOutputStream("lugares.osm"));
>               byte[] buffer = new byte[1024];
>               int leidos = 0;
>               while ((leidos = bis.read(buffer))> 0){
>                       bos.write(buffer,0,leidos);
>               }
>               bos.flush();
>               bos.close();
>               bis.close();
> 
> El jue, 19-02-2009 a las 08:00 -0800, konan1986 escribió:
>> 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
>> > 
>> > 
>> 
> 
> 
> _______________________________________________
> 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-tp22035407p22912100.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

Responder a