我正在尝试学习如何解组xml文件,我在互联网上找到了以下代码,并希望了解每条指令, 有帮助吗?
ps:这是我在其中找到代码的网站的链接:https://examples.javacodegeeks.com/core-java/xml/bind/jaxb-unmarshal-example/
File file = new File("museums.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Museums.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Museums museums = (Museums) jaxbUnmarshaller.unmarshal(file);
System.out.println(museums);
答案 0 :(得分:0)
JAXBContext
是所有JAXB操作的入口点,实际上,您可能要使用三个:
创建它时,可以给它一个或多个计划在上面执行操作的类。然后它将查找这些类,读取其JAXB批注并进行相应的配置。
您需要使用JAXBContext.newInstance()
来创建它,而不是直接实例化它,因为JAXB是具有多个可插入实现的API。
然后您获得属于上下文的Unmarshaller
,该上下文是负责将XML文档转换为Java对象(并用于验证所述文档)的对象。
最后,您告诉解组器处理您的特定文件,从而生成您想要的Java对象。
当然,解组器还可以做很多其他事情(例如,从文件之外的其他来源工作),但是为此,您需要检查API docs。
P.s .:从Java 8开始,您还可以使用便捷类JAXB
。尽管它带有某些警告,但可以节省很多麻烦。