首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML到Java的映射工具-带有映射描述符

XML到Java的映射工具-带有映射描述符
EN

Stack Overflow用户
提问于 2010-12-08 17:13:29
回答 5查看 2.5K关注 0票数 1

我正在尝试寻找一个库,它允许我将XML的内容放入JavaBean (如Digester、Jaxb、JIXB等),但我需要它是运行时的(而不是在编译时,也不是通过字节码生成),并使用某种映射文件。

这个想法类似于Hibernate的HBM映射文件,是一种指定哪个XML元素进入哪个Java属性的方法。我目前正在使用Digester,但我希望它的规则文件更简单。

这也应该适用于1.4JDK,因此注释不会真正起作用(但为了完整起见,我将考虑这样的响应)。

为了继续,我需要一个运行时工具,它基于某种XML描述符将XML转换为Java,类似这样(取自JIXB),但在运行时(即,将XML、输出对象的Java类和映射描述符传递给它):

你知道这样的图书馆吗?

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-08 17:23:48

试试Castor吧。它能够从DTD (可能也从XSD )生成java代码。因此,您可以在运行时生成代码,然后编译它。

顺便说一句,再次检查JAXB。我相信它也能做到这一点。

票数 0
EN

Stack Overflow用户

发布于 2010-12-08 17:40:42

尝试使用XSLT。

您可以将输入的XML文件转换为另一个XML文件,该文件将作为Jaxb/XmlBeans/...的输入。来填充您的bean。

XSL文件将是描述映射的“运行时”配置。

输入XML -(XSLT)-> Bean XML -(Jaxb)-> Java bean

票数 2
EN

Stack Overflow用户

发布于 2010-12-08 18:11:54

Hibernate实际上对XML映射有一些支持。更多信息请参见the doc。我在一段时间前做了一个PoC,发现文档中缺少它。我不知道如何正确使用名称空间。

我们最终使用了罗马,因为我们只需要解析/生成具有自定义名称空间的Atom提要。但我不认为罗马能解决你的问题。映射是在Java代码中完成的,并且在解析/生成RSS / Atom时受到限制。

祝你好运!如果你最终使用Hibernate,我很想知道它是如何为你工作的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4385784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档