国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Castor -- 將Java對(duì)象和XML自動(dòng)綁定的程序

2019-11-18 10:48:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  1. Castor是什么
  
  Castor是一種將java對(duì)象和xml自動(dòng)綁定的開(kāi)源軟件. 它可以在Java對(duì)象,XML文本,SQL數(shù)據(jù)表以及LDAP目錄之間綁定.
  
  ²網(wǎng)址: http://www.castor.org/
  
  2. Castor使用
  
  ²Java對(duì)象指的是具有setX和getX方法的JavaBean,將Castor用于JavaBean具體使用方法如下:
  
  Ø缺省用法: 缺省用法指的是沒(méi)有使用映射格式描述文件時(shí)的用法
  
  import java.io.*;
  
  import org.exolab.castor.xml.*;
  
  public class Test
  
  {
  
  public static void main(String[] argv) {
  
  // build a test bean
  
  FlightBean bean = new FlightBean();
  
  bean.setCarrier("AR");
  
  bean.setNumber(426);
  
  bean.setDepartureTime("6:23a");
  
  bean.setArrivalTime("8:42a");
  
  try {
  
  // write it out as XML
  
  File file = new File("test.xml");
  
  Writer writer = new FileWriter(file);
  
  Marshaller.marshal(bean, writer);
  
  // now restore the value and list what we get
  
  Reader reader = new FileReader(file);
  
  FlightBean read = (FlightBean)
  
  Unmarshaller.unmarshal(FlightBean.class, reader);
  
  System.out.  
  read.getNumber() + " departing at " +
  
  read.getDepartureTime() +
  
  " and arriving at " + read.getArrivalTime());
  
  } catch (IOException ex) {
  
  ex.printStackTrace(System.err);
  
  } catch (MarshalException ex) {
  
  ex.printStackTrace(System.err);
  
  } catch (ValidationException ex) {
  
  ex.printStackTrace(System.err);
  
  }
  
  }
  
  }
  
  Ø 標(biāo)準(zhǔn)用法:
  
  import java.io.*;
  
  import org.exolab.castor.xml.*;
  
  import org.exolab.castor.mapping.*;
  
  
  public class Test
  
  {
  
  public static void main(String[] argv) {
  
  // build a test bean
  
  FlightBean bean = new FlightBean();
  
  bean.setCarrier("AR");
  
  bean.setNumber(426);
  
  bean.setDepartureTime("6:23a");
  
  bean.setArrivalTime("8:42a");
  
  try {
  
  // write it out as XML
  
  Mapping map=new Mapping();
  
  map.loadMapping("mapping.xml");
  
  File file = new File("test.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);
  
  FlightBean read = (FlightBean)unmarshaller.unmarshal(reader);
  
  System.out.println("Flight " + read.getCarrier() +
  
  read.getNumber() + " departing at " +
  
  read.getDepartureTime() +" and arriving at " + read.getArrivalTime());
  
  } catch (IOException ex) {
  
  ex.printStackTrace(System.err);
  
  } catch (MarshalException ex) {
  
  ex.printStackTrace(System.err);
  
  } catch (ValidationException ex) {
  
  ex.printStackTrace(System.err);
  
  }
  
  catch (MappingException ex) {
  
  ex.printStackTrace(System.err);
  
  }
  
  }
  
  }
  
  Ø :缺省用法生成的XML文件如下:
  
  <?xml version="1.0" encoding="UTF-8"?>
  
  <arrival-time>8:42a</arrival-time>
  <departure-time>6:23</departure-time>
  <carrier>AR</carrier>
  
  也就是說(shuō)
  •對(duì)于具有基本類型值的屬性創(chuàng)建元素的一個(gè)屬性(本例中只有 number 屬性通過(guò) getNumber() 方法公開(kāi)為 int 值)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 赞皇县| 惠东县| 韩城市| 红安县| 华池县| 遵化市| 夏邑县| 金阳县| 泌阳县| 扎赉特旗| 修水县| 志丹县| 楚雄市| 洱源县| 阿图什市| 奇台县| 新宁县| 乌什县| 丰城市| 耒阳市| 北川| 蒲江县| 威宁| 巴楚县| 克山县| 烟台市| 金塔县| 滕州市| 垣曲县| 铜川市| 湖北省| 集安市| 确山县| 临澧县| 财经| 余江县| 灵宝市| 黎平县| 甘泉县| 冷水江市| 织金县|