2008-06-26

Castor应用

Castor.xml的下载地址http://www.castor.org/

 

xml-->bean  unmarshal

bean-->xml  marshal

 

 

   Homepagecontent content = new Homepagecontent();
   content.setDescription("description");
   content.setIcon("icon");
   content.setName("name");
   content.setNavlink("navlink");
   content.setId(3);
  
  File file = new File("test.xml");
  Writer writer;
  try {
   writer = new FileWriter(file);

 

  //如果要使用mapping文件,这个地方一定要这样初始化
   Marshaller mar = new Marshaller(writer);
   Mapping map = new Mapping();
   map.loadMapping("mapping.xml");
   mar.setMapping(map);
   mar.marshal(content);
  } catch (IOException e) {
   e.printStackTrace();
  } catch (MarshalException e) {
   e.printStackTrace();
  } catch (ValidationException e) {
   e.printStackTrace();
  } catch (MappingException e) {
   e.printStackTrace();
  }

 

 

mapping.xml

 

<?xml version="1.0" encoding="UTF-8"?>
 <!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="com.eric.test.Homepagecontent" auto-complete="ture">
      <!-- the name of the xml file's root element  -->
       <map-to xml="home"/>
       <field name="id">
          <bind-xml name="pagecontentId" node="attribute"/>
       </field>
       <field name="name">
          <bind-xml name="pageContentName" node="attribute"/>
       </field>
       <field name="navlink">
         <bind-xml name="pagecontentNavlink" node="attribute"/>
       </field>
       <field name="icon">
         <bind-xml name="pagecontentIcon" node="attribute"/>
       </field>
      </class>
  </mapping>

生成的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<home pagecontentId="3" pageContentName="name" pagecontentNavlink="navlink" pagecontentIcon="icon"/>

评论
发表评论

您还没有登录,请登录后发表评论

diaolanshan
搜索本博客
最近加入圈子
存档
最新评论