JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。


JAXB可以把xml对象转化为我们的java对象,也可以把java对象转化为xml对象。


unmarshal()是把xml对象转化为java对象的方法,

marshal()是把java对象转化为xml对象的方法。 


代码:

public static PMML unmarshal(InputStream is) throws SAXException, JAXBException {
    InputSource source = new InputSource(is);
    SAXSource transformedSource = ImportFilter.apply(source);
    return JAXBUtil.unmarshalPMML(transformedSource);
}

public static void marshal(PMML pmml, OutputStream os) throws JAXBException {
    StreamResult result = new StreamResult(os);
    JAXBUtil.marshalPMML(pmml, result);
}