我使用Castor的心得(一)

我使用Castor的心得

 

Castor项目的官方网址是http://www.castor.org/

借用该网站上的介绍,让我们一起来看看castor是个什么东西?

Castor is an Open Source data binding framework for Java[tm]. It's the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.

 

我在项目当中,只用到了javaxml之间的绑定,所以,这里我只向大家介绍一下相关的内容,如果大家对castor感兴趣,可以参考官方网址。Castor的主要功能介绍在如下网址:http://www.castor.org/features.html

 

首先我们一起来看看使用castor来生成java代码。

Castor提供了一个功能,可以根据XSD文件来生成相应的Java代码,这些Java代码可以用来操作该XSD文件所描述的XML文件。

1.    第一步当然就是下载castor相关的jar文件了,主要有如下几个:

 

2.    编写目标XSD文件,现在有一些软件,用来编写XSD是非常方便的,只要简单的操作就可以像做网页一样生成一个XSD文件,推荐大家用XMLSPY

 

 

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

       <xs:element name="Test">

              <xs:annotation>

                     <xs:documentation>Comment describing your root element</xs:documentation>

              </xs:annotation>

              <xs:complexType>

                     <xs:sequence>

                            <xs:element name="time" type="xs:string"/>

                            <xs:element name="place" type="xs:string"/>

                            <xs:element name="role" type="xs:string"/>

                            <xs:element name="events">

                                   <xs:complexType>

                                          <xs:sequence maxOccurs="unbounded">

                                                 <xs:element name="event">

                                                        <xs:complexType>

                                                               <xs:sequence>

                                                                      <xs:element name="key" type="xs:int"/>

                                                                      <xs:element name="description" type="xs:string"/>

                                                               </xs:sequence>

                                                        </xs:complexType>

                                                 </xs:element>

                                          </xs:sequence>

                                   </xs:complexType>

                            </xs:element>

                     </xs:sequence>

              </xs:complexType>

       </xs:element>

</xs:schema>

 

3.    把相应的jar包放到根目录下,以便能够找到。

我使用Castor的心得(一)_第1张图片

 

4.    编写相关的脚本,放到src目录下面

4.1 cp.bat

set CP=%CP%;%1

 

4.2 gencode.bat

 

@echo off

REM Change the following line to set your JDK path

set JAVA_HOME=%JAVA_HOME%

set JAVA=%JAVA_HOME%/bin/java

set JAVAC=%JAVA_HOME%/bin/javac

 

@echo Create the classpath

set CP=.

for %%i in (../*.jar) do call cp.bat %%i

set CP=%CP%;../../../build/classes;%JDK_BIN%/lib/tools.jar

 

@echo.

@echo Using classpath: %CP%

 

@echo Castor Test Cases

@echo.

@echo Generating classes...

 

@rem Java 2 style collection types

 

%JAVA% -cp %CP% org.exolab.castor.builder.SourceGenerator -i ../test.xsd -types j2 -package com.test.castor.code

 

@echo.

@pause

这里面大家可以看到,将我们编写的XSD文件作为参数配置到了里面,并配置了要生成的代码所属的包

5.    运行gencode.bat

 

 

这里,我们可以看到,已经有相应的code产生了。

 

 我使用Castor的心得(一)_第2张图片

你可能感兴趣的:(我使用Castor的心得(一))