Xml 在解组代码中,每条指令都做什么?

Xml 在解组代码中,每条指令都做什么?,xml,xsd,jaxb,unmarshalling,Xml,Xsd,Jaxb,Unmarshalling,我正在学习如何解组xml文件,我在internet上找到了以下代码,希望理解每一条指令, 有什么帮助吗 ps:这是我找到代码的网站的链接: JAXBContext是所有JAXB操作的入口点,实际上,您可能需要使用以下三种: 元帅 拆封 生成模式 当您创建它时,您会给它一个或多个类,您计划在这些类上执行上述操作。然后它将查找这些类,读取它们的JAXB注释并相应地配置自己 您需要使用JAXBContext.newInstance()创建它,而不是直接实例化它,因为JAXB是一个具有多个可插拔实现的A

我正在学习如何解组xml文件,我在internet上找到了以下代码,希望理解每一条指令, 有什么帮助吗

ps:这是我找到代码的网站的链接:


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

  • 元帅
  • 拆封
  • 生成模式
  • 当您创建它时,您会给它一个或多个类,您计划在这些类上执行上述操作。然后它将查找这些类,读取它们的JAXB注释并相应地配置自己

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

    然后获得属于上下文的
    解组器
    ,该对象负责将XML文档转换为Java对象(以及验证所述文档)

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

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


    注意:从Java8开始,您还可以使用便利类。虽然它附带了一些警告,但它可以节省很多麻烦。

    这个问题可能有点宽泛。您肯定知道
    File=…
    System.out.println()
    的意思。你真的在问为什么我们需要一个单独的
    JAXBContext
    Unmarshaller
    ?ofc。我没有得到的是代码的其余部分非常感谢,我想知道这一点,因为我用xml文件尝试了这段代码(做了所有必要的更改),但我得到了根元素的引用作为输出
    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);