2011-05-18 50 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節點名稱轉換邏輯。