Wenn Sie ganze XML mit JAXB entpacken, können Sie XML-Schema festgelegt Validierung während Parsing zu aktivieren:JAXB Schema-Validierung, wenn unmarshalling Nicht-Root-Element
//javax.xml.validation.Schema schema = ...
jaxbUnmarshaller = JAXBContext.newInstance(SomeRootType.class).createUnmarshaller();
jaxbUnmarshaller.setSchema(schema);
Auf der anderen Seite, wenn Sie Abstellungs Liste der NestedObjest
s von XML, einer nach dem anderen versagt diese Methode (. zB Speicherverbrauch verringern) mit einer Ausnahme (als Schema root akzeptiert nur):
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 22; cvc-elt.1: Cannot find the declaration of element 'NestedObject'
in der XSD
Es schlägt fehl, auch wenn NestedObjectType
ist gut definiert. Gibt es eine Option zum Aktivieren der Validierung geschachtelter Objekte? Bitte beachten Sie, dass das Definieren eines neuen Schemas eine miserable Option ist, da das XSD extern für meine Anwendung ist, die von jemand anderem verwaltet wird.
könnten Sie einige Beispiel-Eingabe, wo dieser Fehler auftritt? –