Java XML 數(shù)據(jù)綁定是一種代替 XML 文檔模型的強(qiáng)大機(jī)制。castor框架就是應(yīng)用于此類功能的框架。
直接用代碼說明:
1.javabean
這個類是公共的
定義了公共的默認(rèn)(沒有參數(shù))構(gòu)造函數(shù)
定義了公共的
import java.util.ArrayList;
import java.util.List;


public class Bean
{

public Bean()
{}
private String name;
private int age;
private String addr;
private int cod;
private List list;


public String getAddr()
{
return addr;
}


public void setAddr(String addr)
{
this.addr = addr;
}


public int getAge()
{
return age;
}


public void setAge(int age)
{
this.age = age;
}


public String getName()
{
return name;
}


public void setName(String name)
{
this.name = name;
}


public int getCod()
{
return cod;
}


public void setCod(int cod)
{
this.cod = cod;
}


public List getList()
{
if(list==null)
list=new ArrayList();
return list;
}


public void setList(List list)
{
this.list = list;
}

}
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;

public class CastorTest
{


public static void main(String[] args)
{
Bean bean=new Bean();
bean.setAddr("gansu");
bean.setAge(25);
bean.setName("can");
bean.setCod(100);
List list=new ArrayList();
list.add(33);
list.add("haha");
bean.setList(list);

try
{
File file=new File("c:/castor.xml");
if(!file.exists())
file.createNewFile();
FileWriter fw=new FileWriter(file);
Marshaller.marshal(bean, fw);
FileReader reader = new FileReader(file);

Bean read = (Bean) Unmarshaller.unmarshal(Bean.class, reader);

System.out.println(read.getAddr());
System.out.println(read.getCod());

for (Iterator iter = read.getList().iterator(); iter.hasNext();)
{
Object element = (Object) iter.next();
System.out.println(element);
}

} catch (Exception e)
{
// TODO: handle exception
}}
}
<?xml version="1.0" encoding="UTF-8"?>
<bean cod="100" age="25">
<name>can</name>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="java:java.lang.Integer">33</list>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="java:java.lang.String">haha</list>
<addr>gansu</addr>
</bean>
對于具有基本類型值的屬性創(chuàng)建元素的一個屬性(本例中只有 對于每個具有對象類型值的屬性創(chuàng)建根元素的一個子元素(本例中的所有其他屬性,因?yàn)樗鼈兪亲址?/span>
直接用代碼說明:
1.javabean
getX
和 setX
方法訪問屬性(數(shù)據(jù))值 















































































2. 測試默認(rèn)的數(shù)據(jù)綁定























































結(jié)果:







number
屬性通過 getNumber()
方法公開為 int
值)。