|
锁定老贴子 主题:Castor 简单应用 续
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-05-19 关键字: java
上面对不用映射文件的方式做了一个简单的应用,那下面就对应用映射文件的形式做个小实例: 1.标准应用(有mapping.xml) 测试bean:StdBean.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的同仁作个小参考而已,敬请大家多多指教! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。 |
|
| 返回顶楼 | |
浏览 491 次



