2017-07-26 2 views
0

Voici mon extrait:Comment désactiver XML traitement Entité externe (de XEE) en utilisant SAXBuilder qui com.sun.org.apache.xerces.internal.parsers.SAXParser

public static SAXBuilder createBuilder(@NotNull final String schemaPath) { 


    final SAXBuilder builder = new SAXBuilder("com.sun.org.apache.xerces.internal.parsers.SAXParser", true); 
    builder.setFeature("http://apache.org/xml/features/validation/schema", true); 
    builder.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); 


    builder.setFeature("http://apache.org/xml/features/disallow-doctype-decl",true); 
    builder.setFeature("http://xml.org/sax/features/external-general-entities", false); 
    builder.setFeature("http://xml.org/sax/features/external-parameter-entities", false); 
    builder.setExpandEntities(false); 
    builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", schemaPath); 
    builder.setEntityResolver(getEntityResolver()); 
    return builder; 
} 

J'ai passé un certain temps à la recherche , mais il n'y a pas beaucoup laissé là

Répondre

1

J'ai identifié la cause première de ce problème. C'est à cause de processContents="lax" l'attribut dans mon xsd