首页 > 解决方案 > JAXB 编组和解组

问题描述

在浏览 XML 编组和解组技术时JAVA,我遇到了这样的疑问,为什么我们在其他 api 中还有相关JAXB的包,当我们已经有它的时候?jakarta-xml-bind-apijaxb-apijdk

标签: javaxmljakarta-eejaxb

解决方案


//This method convert object to Xml     
public void testObjectToXml() throws JAXBException, FileNotFoundException {
            JAXBContext jaxbContext = JAXBContext.newInstance(Product.class);
            Marshaller marshaller = jaxbContext.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            marshaller.marshal(product, new File("product.xml"));
            marshaller.marshal(product, System.out);
        }
//This method convert xml to object    
private static Bookstore convertXMLToObject() {
        try {
            JAXBContext context = JAXBContext.newInstance(Bookstore.class);
            Unmarshaller un = context.createUnmarshaller();
            Bookstore bookstore = (Bookstore) un.unmarshal(new File(BOOKSTORE_XML));
            List < Book > list = bookstore.getBooksList();
            for (Book book: list) {
                System.out.println("Book: " + book.getName() + " from " + book.getAuthor());
            }
        } catch (JAXBException e) {
            e.printStackTrace();
        }
        return null;
    }

推荐阅读