Module  java.xml.bind
软件包  javax.xml.bind.util

Class JAXBResult

  • All Implemented Interfaces:
    Result


    public class JAXBResult
    extends SAXResult
    JAXP Result实现解组JAXB对象。

    此实用程序类将JAXB与其他Java / XML技术相结合是有用的。

    以下示例显示如何使用JAXB解组XSLT转换导致的文档。

           JAXBResult result = new JAXBResult(
             JAXBContext.newInstance("org.acme.foo") );
    
           // set up XSLT transformation
           TransformerFactory tf = TransformerFactory.newInstance();
           Transformer t = tf.newTransformer(new StreamSource("test.xsl"));
    
           // run transformation
           t.transform(new StreamSource("document.xml"),result);
    
           // obtain the unmarshalled content tree
           Object o = result.getResult();
        

    JAXBResult源自SAXResult的事实是一个实现细节。 因此,一般来说,强烈建议不要访问SAXResult上定义的方法。

    特别是不要尝试调用setHandler,setLexicalHandler和setSystemId方法。

    从以下版本开始:
    1.6
    • 构造方法详细信息

      • JAXBResult

        public JAXBResult​(JAXBContext context)
                   throws JAXBException
        创建一个使用指定的JAXBContext解组的新实例。
        参数
        context - 将用于创建必要的Unmarshaller的JAXBContext。 此参数不能为空。
        异常
        JAXBException - 如果在创建JAXBResult时遇到错误,或者如果context参数为空。
      • JAXBResult

        public JAXBResult​(Unmarshaller _unmarshaller)
                   throws JAXBException
        创建一个使用指定的Unmarshaller解组对象的新实例。

        此JAXBResult对象将使用指定的Unmarshaller实例。 呼叫者有责任在此对象使用的同时使用相同的Unmarshaller进行其他用途。

        此方法的主要目的是允许客户端配置Unmarshaller。 除非你知道你在做什么,否则传递一个JAXBContext更容易和更安全。

        参数
        _unmarshaller - unmarshaller。 此参数不能为空。
        异常
        JAXBException - 如果在创建JAXBResult或Unmarshaller参数为空时遇到错误。
    • 方法详细信息

      • getResult

        public Object getResult​()
                         throws JAXBException
        获取由转换创建的未编组对象。
        结果
        始终返回一个非空对象。
        异常
        IllegalStateException - 如果在对象被 IllegalStateException编组之前调用此方法。
        JAXBException - 如果有任何解组错误。 请注意,在解析过程中发现错误时,允许实现抛出SAXException。