我需要驗證類對象針對我的架構,其中我已經提供的正則表達式對自動生成的JAXB類驗證字段的註釋@XmlRootElement。當我嘗試驗證我的類的對象,我得到以下錯誤:不能編組類型作爲元素,因爲它缺少用於自動生成的類
不能編組型「XYZ」爲元素,因爲它缺少一個@XmlRootElement註釋
這裏是我使用驗證碼我的自動生成的類對象:
jc = JAXBContext.newInstance(obj.getClass());
source = new JAXBSource(jc, obj);
Schema schema = schemaInjector.getSchema();
Validator validator = schema.newValidator();
validator.validate(source);
有沒有其他解決方法?
感謝您的幫助。我已經根據您的博客上的解決方案修改了我的代碼,但我仍然收到相同的錯誤。修改後的代碼是:'的QName QNAME =新QName( 「http://www.w3.org/2001/XMLSchema」,obj.toString());''的JAXBElement E = createJAXBElement(QNAME,obj.getClass(), OBJ);''JC = JAXBContext.newInstance(e.getValue()的getClass());''的Marshaller米= jc.createMarshaller();''源=新JAXBSource(JC,m.getClass());' '架構模式= schemaInjector.getSchema();'' 驗證驗證= schema.newValidator();''validator.validate(源);'_Please advice_ –
user656213
我發現此答案有幫助:http://stackoverflow.com/a/2172942/58363它給@ Blaise-doughan的答案提供了替代措辭。 –