在Java中基于XML自动构建资源类

时间:2012-01-05 03:40:15

标签: java xml code-generation

在Android应用程序中,资源在xml文档中指定,这些文档自动构建到R类中,可以在源代码中以强类型方式轻松访问。

我是否可以使用类似的方法进行常规Java桌面应用程序?

我想要完成的是从代码中删除字符串(作为“层”的分离,或多或少),并通过简单地告诉程序来轻松添加对本地化的支持选择与所需语言对应的xml文件。

我已经搜索了一下,但我正在寻找的东西似乎淹没在解析或输出xml的结果中,而不是利用xml生成代码的工具。

4 个答案:

答案 0 :(得分:2)

Eclipse的消息包实现(例如插件使用)与Externalize Strings功能集成,并为您的字符串生成静态类和资源属性文件:

http://www.eclipse.org/eclipse/platform-core/documents/3.1/message_bundles.html

为了使这种集成工作,Eclipse需要在类路径上查看org.eclipse.osgi.util.NLS。从内存中,它所使用的库的依赖关系对于我使用这种方法的项目来说有点棘手,所以我只获得了源代码并将其作为我的核心模块中的独立类(请参阅注释以获取更多信息)在那)。

它提供了您正在寻找的类型安全性,IDE功能可以节省大量时间。到目前为止,我没有发现这种方法的缺点。

编辑:这实际上是评论中提到的ghostbust555,但在该文章中并不清楚这不仅限于Eclipse插件,而是通过消息类的静态成员引用您的资源。

我还没有看到其他人在自己的应用程序中使用这种方法,但对我而言,鉴于IDE集成和类型安全,它完全合理。

答案 1 :(得分:0)

我不确定这是不是您的意思,但请查看国际化 - http://netbeans.org/kb/docs/java/gui-automatic-i18n.html

答案 2 :(得分:0)

您是否正在寻找解析XML文件并生成类似“类似结构”对象的Java实例的内容,例如JAXPJAXB

答案 3 :(得分:0)

我遇到了ResGen,给定资源包XML文件生成可用于以类型安全方式访问资源的Java文件。

http://eigenbase.sourceforge.net/resgen/