當你解組整個XML與JAXB當JAXB模式驗證,您可以設置XML模式解析期間啓用驗證:解組非根元素
//javax.xml.validation.Schema schema = ...
jaxbUnmarshaller = JAXBContext.newInstance(SomeRootType.class).createUnmarshaller();
jaxbUnmarshaller.setSchema(schema);
在另一方面,當你的NestedObjest
小號解組列表從XML,一個接一個地(例如以減少存儲器使用)該方法失敗(如架構僅接受根)配有一個例外:
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 22; cvc-elt.1: Cannot find the declaration of element 'NestedObject'
它未能即使NestedObjectType
處於XSD良好定義。有沒有任何選項來啓用嵌套對象驗證?請注意,定義新的模式是一個悲慘的選擇,因爲XSD對於我的應用程序是由其他人維護的外部應用程序。
中解釋的那樣,您能否提供一些示例輸入,哪裏出現此錯誤? –