public interface UnmarshallerHandler
作为 SAX ContentHandler 实现的 Unmarshaller。
应用程序可以使用此接口将其 JAXB 提供者用作 XML 管线中的一个组件。例如:
JAXBContext context = JAXBContext.newInstance( "org.acme.foo" ); Unmarshaller unmarshaller = context.createUnmarshaller(); UnmarshallerHandler unmarshallerHandler = unmarshaller.getUnmarshallerHandler(); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setNamespaceAware( true ); XMLReader xmlReader = spf.newSAXParser().getXMLReader(); xmlReader.setContentHandler( unmarshallerHandler ); xmlReader.parse(new InputSource( new FileInputStream( XML_FILE ) ) ); MyObject myObject= (MyObject)unmarshallerHandler.getResult();
此接口是可重用的:即使用户解组某一对象时失败,她/他仍可开始新一轮的解组。
Unmarshaller.getUnmarshallerHandler()
方法摘要 | |
---|---|
Object |
getResult() 获得解组的结果。 |
方法详细信息 |
---|
Object getResult() throws JAXBException, IllegalStateException
IllegalStateException
- 如果在此处理程序接收 endDocument 事件之前调用此方法。
JAXBException
- 如果出现任何解组错误。注意,允许该实现在解析错误期间抛出 SAXException。