在java中基于xml自动创建类模型

时间:2011-05-18 18:08:07

标签: java xml-serialization xstream xml-deserialization

我有一个xml文件格式并使用该xml我想创建序列化和反序列化该xml所需的框架类。我正在使用Java和XStream。

.net世界中有一个工具,它使用xml创建类。 Java世界中有类似的东西吗?

1 个答案:

答案 0 :(得分:2)

我自己没有使用过XStream,所以这个解决方案可能不会100%为你服务。但是,Java中最简单的方法是使用Java的Architectural Binding for XML(JAXB)API和工具。随着Java 6的发布,JAXB作为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节点名称转换逻辑。