2011-05-18 99 views
1

我有一个xml文件格式并使用该xml我想创建需要序列化和反序列化该xml的框架类。我为此使用Java和XStream。在java中基于xml创建自动类模型

在.NET环境中有一个工具,它使用xml创建类。 Java世界中有没有类似的东西?

回答

2

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

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

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

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