Iván Sánchez Ortega wrote:
El Martes, 8 de Septiembre de 2009, Micho Gar escribió:
Hola a todos,
llevo unos dias probando a parsear un archivo GML. Estoy intentandolo con
herramientas que utilicen XML Schema, y de momento no estoy obteniendo nada
positivo. He probado con GeoTools, con GTXML y JAB, pero tengo problemas
con el parseado del xsd. Los archivos los creo yo con gvSIG.
¿Conoceis algún parseador, ejemplos o algo que me pueda dar una pequeña
ayuda?
Odio, odio, odio GML. El mezclar los namespaces y no estandarizar la forma de
trabajar con ellos hace el parseo harto complicado.
Lo que suelo hacer, que es un hack en toda regla, es cargarme los namespaces a
golpe de sed (o str_replace), y trabajar con todo ello a lo bruto, adaptando
el código a cada fichero GML, que los cachondos suelen venir con una
estructura distinta dependiendo de de dónde los hayas sacado.
Si quieres, échale un vistazo a
http://trac.openstreetmap.org/browser/applications/utils/import/gml2osm/gml2osm.php -
pero quedas avisado de que ese código está lleno de hacks por todos lados!!
Igual también puedes sacar ejemplos del código de gvSIG responsable del parseo
de GML.
Yo soy aún más 'cafre' que Iván (supongo que porque es algo que suelo
hacer menos). Para cosas sencillas (entidades conocidas, en un contexto
que controlas) tiendo a escribirme un parser simple con algún sax (kxml
es muy eficiente), ignorando de los esquemas. Si lo que necesitas es
tener los datos cargados sin que te cueste mucho tiempo de desarrollo,
suele ser una buena aproximación.
Si lo necesitas más riguroso, podrías incorporar en tu programa la
librería GPE (que es la que usa gvSIG para escribir y leer GML), que
está desacoplada del modelo de objetos de gvSIG y no debería darte
pegas. Creo que incluso hay algo de documentación en http://gvsig.org,
pero para este último caso yo me aprovecharía de la lista de desarrollo
del proyecto.
Saludos
Luis
Un saludo,
--
Luis W. Sevilla Muelas
Valencia - Spain
The secret to programming is not intelligence, though of course that helps. It
is not hard work or experience, though they help, too. The secret to
programming is having smart friends. (Ron Avitzur)
_______________________________________________
Spanish mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/spanish