【问题标题】:Automatic class model creation based on xml in javajava中基于xml的自动类模型创建
【发布时间】:2011-05-18 18:08:07
【问题描述】:

我有一个 xml 文件格式,我想使用该 xml 创建序列化和反序列化该 xml 所需的骨架类。我为此使用 Java 和 XStream。

.net 世界中有使用 xml 创建类的工具。 Java世界里有没有类似的东西?

【问题讨论】:

    标签: java xml-serialization xstream xml-deserialization


    【解决方案1】:

    我自己没有使用过 XStream,所以这个解决方案可能不是 100% 适合你。但是,Java 中最简单的方法是使用 Java 的 XML 架构绑定 (JAXB) API 和工具。 JAXB 作为 Java 6 版本的一部分包含在 JDK 中。要从 XML 模式生成 Java 代码,您可以使用 JDK 附带的xjc 命令。这是一个例子:

    > xjc schemas\my-schema.xsd -d src\java -p com.company.model
    

    此代码生成方法将创建包含 JAXB 特定注释的 Java 对象,Marshaller 使用这些注释将 Java 对象映射到其 XML 格式,反之亦然。它还将包含许多警告,说明代码是自动生成的,不应修改。只要您不尝试自动使代码与您的 XML 保持同步,您就可以忽略这些消息。

    现在,正如我所提到的,这种技术确实会生成 JAXB 注释类,但是,生成的代码可能仍然与 XStream 兼容,因为我相信 XStream 使用简单的属性名称 -> xml 节点名称转换逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多