h1

JDOM no encuentra la DTD de un XML

6 enero 2010

Al parsear un fichero XML con JDOM no es difícil descubrir que no encuentra la ruta a la DTD con que se valida, especialmente con la directiva SYSTEM dentro del DOCTYPE.

En este caso, JDOM lanza una FileNotFoundException pero, si no se quiere buscar dicho fichero, se debe implementar un EntityResolver (el encargado de interpretar las entidades definidas en dicha DTD) que no haga nada.

El código resultante sería algo similar a lo siguiente:

SAXBuilder builder = new SAXBuilder();

// Dummy EntityResolver
builder.setEntityResolver(new EntityResolver() {
    public InputSource resolveEntity(
           String publicId, String systemId) 
           throws SAXException, IOException {
        return new InputSource(new StringReader(" "));
    }
});

doc = builder.build(...);

One comment

  1. gracias me sirvio de mucho tu respuesta



Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: