由StAX用JAXB注释的Marshal java类

时间:2014-01-31 10:38:02

标签: java jaxb marshalling stax

是否可以在不使用JAXB本身的情况下用StAX编组java类(使用JAXB注释注释)?

1 个答案:

答案 0 :(得分:2)

,要使用JAXB注释进行编组,您需要使用JAXB - 这就是它的功能。 ,在使用Marshaller序列化JAXB对象树时,可以使用StAX作为输出编写器。

它们是两个不同的东西。 StAX并不比JAXB快,它做了一些不同的事情 - 在JAXB生成正确的XML事件之后创建文本XML需要它来告诉StAX XML应该是什么样子。

javax.xml.bind.Marshaller上使用以下方法将JAXB对象发送到StAX:

/**
 * Marshal the content tree rooted at <tt>jaxbElement</tt> into a
 * {@link javax.xml.stream.XMLStreamWriter}.
 *
 * @param jaxbElement
 *      The content tree to be marshalled.
 * @param writer
 *      XML will be sent to this writer.
 *
 * [...]
 * @since JAXB 2.0
 */
public void marshal( Object jaxbElement, javax.xml.stream.XMLStreamWriter writer )
    throws JAXBException;