-
- All Superinterfaces:
-
ContentHandler
public interface UnmarshallerHandler extends ContentHandler
Unmarshaller实现为SAX ContentHandler。应用程序可以使用此接口将其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();
该界面是可重用的:即使用户未能解组对象,他/他仍然可以开始新一轮的解组。
- 从以下版本开始:
- 1.6,JAXB 1.0
- 另请参见:
-
Unmarshaller.getUnmarshallerHandler()
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 Object
getResult()
获得未组织的结果。-
Methods inherited from interface org.xml.sax.ContentHandler
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping
-
-
-
-
方法详细信息
-
getResult
Object getResult() throws JAXBException, IllegalStateException
获得未组织的结果。 只有在此处理程序接收到endDocument SAX事件之后,才能调用此方法。- 结果
- 总是返回一个非空的有效对象,它是未组织的。
- 异常
-
IllegalStateException
- 如果在此处理程序接收到endDocument事件之前调用此方法。 -
JAXBException
- 如果有任何解组错误。 请注意,在解析过程中发现错误时,允许实现抛出SAXException。
-
-