论坛首页 Java版

Castor 简单应用 续

浏览 491 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-05-19 关键字: java
 

       上面对不用映射文件的方式做了一个简单的应用,那下面就对应用映射文件的形式做个小实例:

1.标准应用(mapping.xml) 

测试beanStdBean.java

package org.ndot.std; 

public class StdBean {

  private int num;

  private String stdName;

  private boolean isNew = false;

  public boolean getIsNew() {

     return isNew;

  }

  public void setIsNew(boolean isNew) {

     this.isNew = isNew;

  }

  public int getNum() {

     return num;

  }

  public void setNum(int num) {

     this.num = num;

  }

  public String getStdName() {

     return stdName;

  }

  public void setStdName(String stdName) {

     this.stdName = stdName;

  }

}

 

影射文件 mapping.xml

 

<!DOCTYPE databases PUBLIC

  "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"

  "http://castor.exolab.org/mapping.dtd">

<mapping>

  <description>Basic mapping example</description>

  <class name="org.ndot.std.StdBean" auto-complete="true">

    <map-to xml="MyInfo"/>

    <field name="isNew" >

      <bind-xml name="isNew" node="attribute"/>

    </field>

    <field name="num">

      <bind-xml name="num" node="attribute"/>

    </field>

    <field name="stdName">

      <bind-xml name="stdName" node="attribute"/>

    </field>

  </class>

</mapping>

 

测试类:TestMain.java

 

package org.ndot.std;

import java.io.*;

import org.exolab.castor.xml.*;

import org.exolab.castor.mapping.*;

public class TestMain {

  public static void main(String[] argv) {

     // build a test bean

     StdBean bean = new StdBean();

     bean.setIsNew(true);

     bean.setNum(22);

     bean.setStdName("NDot");

     try {

         // write it out as XML

         Mapping map = new Mapping();

         map.loadMapping("mapping.xml");

 

         File file = new File("MyInfo.xml");

         Writer writer = new FileWriter(file);

         Marshaller marshaller = new Marshaller(writer);

         marshaller.setMapping(map);

         marshaller.marshal(bean);

 

         // now restore the value and list what we get

         Reader reader = new FileReader(file);

         Unmarshaller unmarshaller = new Unmarshaller(map);

         StdBean read = (StdBean) unmarshaller.unmarshal(reader);

         System.out.println("Num is :" + read.getNum());

     } catch (Exception ex) {

         ex.printStackTrace(System.err);

     }

  }

}

控制台输出:Num is :22

生成XML文档:MyInfo.xml

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

<MyInfo isNew="true" num="22" stdName="NDot" />

好了关于Castor的java对象到xml的绑定的小实例就说到这里,上面涉及的内容简单肤浅,只是给没有接触过Castor的同仁作个小参考而已,敬请大家多多指教!

p

声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

   
论坛首页 Java版

跳转论坛:
JavaEye推荐