是否存在将XML解析为Java对象的声明方法?

时间:2010-08-16 16:48:41

标签: java xml xml-parsing declarative

我正在向我的Java应用程序编写XML文件的导入功能。我正在使用XOM来解析XML文件。解析XML的代码不容易理解,它是一些硬编码的.getChild(3)等等。与声明性XML文档相比,很难遵循代码。

是否有更难以维护的方法将XML文档解析为Java对象?我希望以更具声明性的方式使用它,我可以在其中指定哪些标记对应于哪些Java类。

7 个答案:

答案 0 :(得分:3)

看看JAX / B - 相当简单的基于注释的方法。它是标准的Java API。

有一些工具可以从XSD或示例XML文件生成带注释的Java类。我在my blog

中描述了我对它的使用

答案 1 :(得分:2)

我非常喜欢Simple将XML转换为Java。

答案 2 :(得分:1)

答案 3 :(得分:1)

同意JAXB (JSR-222)是最佳解决方案。请注意,JAXB是一个规范意味着您可以选择实现:

标准JAXB允许您通过注释指定映射,MOXy JAXB还允许您通过XML指定元数据:

如果您需要可维护的解决方案,则需要打破几乎所有XML绑定解决方案中的XML元素之间的一对一关系,并使用MOXy中使用的基于XPath的映射:

答案 4 :(得分:1)

Simple XML框架在字段和方法声明以及类定义上使用注释将XML映射到Java并返回。它的重量比JAXB轻了许多倍(它吸收了大量的依赖关系)。实际上它根本没有外部依赖。它也更快。我多次尝试过JAXB,但发现注释和功能很笨拙。查看Tutorial

答案 5 :(得分:0)

答案 6 :(得分:0)

我终于找到了易于使用的XStream并以声明的方式解析XML。