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