每个指令在解组代码中做什么?

时间:2018-08-06 10:05:15

标签: xml xsd jaxb unmarshalling

我正在尝试学习如何解组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);

1 个答案:

答案 0 :(得分:0)

JAXBContext是所有JAXB操作的入口点,实际上,您可能要使用三个:

  1. 元帅
  2. 元帅
  3. 生成模式

创建它时,可以给它一个或多个计划在上面执行操作的类。然后它将查找这些类,读取其JAXB批注并进行相应的配置。

您需要使用JAXBContext.newInstance()来创建它,而不是直接实例化它,因为JAXB是具有多个可插入实现的API。

然后您获得属于上下文的Unmarshaller,该上下文是负责将XML文档转换为Java对象(并用于验证所述文档)的对象。

最后,您告诉解组器处理您的特定文件,从而生成您想要的Java对象。

当然,解组器还可以做很多其他事情(例如,从文件之外的其他来源工作),但是为此,您需要检查API docs

P.s .:从Java 8开始,您还可以使用便捷类JAXB。尽管它带有某些警告,但可以节省很多麻烦。