将 XML 转换为 Java 对象 [已关闭]
将 XML 转换为 Java 对象的最佳方法是什么?
我不想要喜欢的表示,但想从XML中提取某些数据并填充Java对象。我看了一下XStream,但并不喜欢整个“下移,上移”类型的东西。在编写转换器时,我更喜欢像DOM一样的对象...
将 XML 转换为 Java 对象的最佳方法是什么?
我不想要喜欢的表示,但想从XML中提取某些数据并填充Java对象。我看了一下XStream,但并不喜欢整个“下移,上移”类型的东西。在编写转换器时,我更喜欢像DOM一样的对象...
如果你有一个XML模式,JAXB很好 - 作为JDK的一部分。通过运行来生成java类,例如xjc -p foo myschema.xsd
要读取 XML 文件并取回对象(从 xjc 工具生成的类中):
JAXBContext context = JAXBContext.newInstance(FooObj.class);
Unmarshaller unMarshaller = context.createUnmarshaller();
FooObj param = (FooObj) unMarshaller.unmarshal(new FileInputStream("Foo.xml"));
如果您只想将 XML 文档的一部分转换为对象,则可以执行类似的操作,例如,您应该能够为 DOM 文档提供 JAXB 的一部分,而不是像上面那样提供整个文件。
我知道每个人都喜欢像JAXB这样的自动解决方案,但我建议手动编码和实现,以获得你想要的东西,而不会不必要地填满你的烫发空间。使用 JDOM 解析 XML 并使用 XPath 将值映射到 Java 对象中。做一次需要做一些工作,但你会有你需要的,仅此而已。javax.xml.bind.Marshaller
javax.xml.bind.Unmarshaller