是否有一种声明式的方式将XML解析为Java对象?

是否有一种声明式的方式将XML解析为Java对象?,java,xml,xml-parsing,declarative,Java,Xml,Xml Parsing,Declarative,我正在编写一个将XML文件导入Java应用程序的函数。我正在使用解析XML文件。解析XML的代码不容易理解,它是一些硬编码的.getChild(3)等等。与声明性XML文档相比,很难理解代码 难道没有一种更易于维护的方法可以将XML文档解析为Java对象吗?我希望以更具声明性的方式使用它,在这里我可以指定哪些标记对应于哪些Java类。检查 下面是同样的文档:看一看。看一看JAX/B——相当简单的基于注释的方法。这是一个标准的JavaAPI 有一些工具可以从XSD或示例XML文件生成带注释的Jav

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

难道没有一种更易于维护的方法可以将XML文档解析为Java对象吗?我希望以更具声明性的方式使用它,在这里我可以指定哪些标记对应于哪些Java类。

检查


下面是同样的文档:

看一看。

看一看JAX/B——相当简单的基于注释的方法。这是一个标准的JavaAPI

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

中描述了我对它的使用。我同意这是最好的解决方案。请注意,JAXB是一个规范,这意味着您可以选择实现:

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

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


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

我终于发现它很容易使用,并以声明的方式解析XML。

XML框架使用字段和方法声明以及类定义上的注释将XML映射到Java和Java。它的轻量级是JAXB的许多倍(JAXB带来了大量依赖项)。事实上,它根本没有外部依赖关系。而且速度也更快。我尝试了很多次JAXB,但发现注释和功能笨拙而繁琐。查看。

谢谢,我读了你的博文。当您可以右键单击XML文件并生成XSD时,您必须拥有一个优秀的IDE。我在我使用的Eclipse中找不到这个选项。我必须阅读关于JAXB的文章,查看正在添加到EclipseDali项目中的JAXB支持:Digester仍然是一个活跃的项目吗?自2009年1月以来,我在他们的网站上没有看到任何更新。Digester是稳定的,不太活跃,但仍然保持着。签出:签出: