我正在将 XML 文件的导入函数写入我的 Java 应用程序。我正在使用XOM来解析 XML 文件。解析XML的代码不太好理解,有些硬编码.getChild(3)
等等。与声明性 XML 文档相比,很难遵循代码。
难道没有更易于维护的方式将 XML 文档解析为 Java 对象吗?我想以一种更具声明性的方式来使用它,我可以在其中指定哪些标签对应于哪些 Java 类。
我正在将 XML 文件的导入函数写入我的 Java 应用程序。我正在使用XOM来解析 XML 文件。解析XML的代码不太好理解,有些硬编码.getChild(3)
等等。与声明性 XML 文档相比,很难遵循代码。
难道没有更易于维护的方式将 XML 文档解析为 Java 对象吗?我想以一种更具声明性的方式来使用它,我可以在其中指定哪些标签对应于哪些 Java 类。
看看 JAX/B - 相当简单的基于注释的方法。这是一个标准的Java API。
有一些工具可以从 XSD 或示例 XML 文件生成带注释的 Java 类。我在我的博客中描述了我对它的使用
我真的很喜欢将 XML 转换为 Java 的Simple。
同意的 JAXB (JSR-222)是最好的解决方案。请注意,JAXB 是一个规范,这意味着您可以选择实现:
标准 JAXB 允许您通过注释指定映射,MOXy JAXB还允许您通过 XML 指定元数据:
如果您想要一个可维护的解决方案,您需要打破几乎所有 XML 绑定解决方案中的 XML 元素之间的一对一关系,并使用 MOXy 中使用的基于 XPath 的映射:
这是相同的文档:http: //www.castor.org/xml-mapping.html
我终于找到了易于使用并以声明方式解析 XML 的XStream 。