java - JAXB 编组和解组
问题描述
在浏览 XML 编组和解组技术时JAVA
,我遇到了这样的疑问,为什么我们在其他 api 中还有相关JAXB
的包,当我们已经有它的时候?jakarta-xml-bind-api
jaxb-api
jdk
解决方案
//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;
}
推荐阅读
- reactjs - 使用 React 在 Material-UI 中的特定日期标记
- android - TextWatcher 正在阻止从 EditText 中删除整个字符串,只是 char 到 char
- javascript - WixCode - 提交后更新两个集合?
- java - JavaFX场景中的Java处理3 PAplet作为FXNode
- c++ - C++ 程序不会因为 memcpy 而终止
- javascript - 计算合并行的总和并显示在第三列
- c# - 使用 OpenXML 遍历 Excel 工作表中的所有超链接不会返回所有超链接
- php - 通过 .htaccess wordpress 升级 php
- python - 从字符串中返回最长的单词
- javascript - 在循环中填充数组的竞争问题