Gae*_*ora 4 java xml jaxb xml-parsing
我是关于jaxb的新手.我的问题如下:使用jaxb,是否可以从xml文件到java对象进行自动映射?从xml文件开始,是否有东西生成带有注释的Java类jaxb relaitve?
这确实是可能的.但是,您需要一个XSD而不是XML文件.有一些工具(例如Trang)可以从一个或多个示例XML文件中推断出XSD.
考虑到如果XML样本不完整,或者模式无法在单个XML文件(独占元素等)中完全表示,使用工具生成此XSD可能会导致结果不准确.
一旦有了XSD,就可以使用xjc它来生成marshaller/unmarshaller类.
xjc myxsd.xsd
Run Code Online (Sandbox Code Playgroud)
这将生成JAXB将用于编组/解组的带注释的类.请注意,您也可以自己编写这些类.有了它们,只需在代码中使用它们:
File file = new File("myFile.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(MyRootElement.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
MyRootElement element = (MyRootElement) jaxbUnmarshaller.unmarshal(file);
Run Code Online (Sandbox Code Playgroud)
是的,JAXB会自动执行marshalling,unmarshalling但它需要一个架构文件。JaxB 用于将 XML 与 Java 对象绑定。它使用XSD模式文件进行编组和解组。像 XJC 这样的简单 ant 任务很少可以使用。
| 归档时间: |
|
| 查看次数: |
4214 次 |
| 最近记录: |