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"/>