我正在向我的Java应用程序编写XML文件的导入功能。我正在使用XOM来解析XML文件。解析XML的代码不容易理解,它是一些硬编码的.getChild(3)
等等。与声明性XML文档相比,很难遵循代码。
是否有更难以维护的方法将XML文档解析为Java对象?我希望以更具声明性的方式使用它,我可以在其中指定哪些标记对应于哪些Java类。
答案 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。