0
我想解組與JAXB類不匹配的XML字符串。我期望這會引發異常,但是會返回一個新的JAXB對象。JAXB解組的壞XML不會拋出異常
xmlStr(輸入XML)
<urn1:RgBad
xmlns:urn1="urn:none">
</urn1:RgBad>
正確的XML
<urn:Rg
xmlns:urn="urn:test"
代碼
(clazz = Rg.class)
JAXBContext jaxbContext = JAXBContext.newInstance(clazz);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
StreamSource source = new StreamSource(new StringReader(xmlStr));
//Returns an actual Rg object, even though the source root element and namespace are different.
(unmarshaller.unmarshal(source, clazz)).getValue();
您應該在JAXB中添加模式驗證。 –