* 測試Bean
*/
public class PersonBean {
private String name;
private int age;
public PersonBean() {
}
public PersonBean(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "PersonBean{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
import org.apache.commons.betwixt.io.BeanReader;
/**
* XML轉Java
*/
public class ReadExampleApp {
public static final void main(String args[]) throws Exception {
//創建一個讀取xml文件的流
StringReader xmlReader = new StringReader(
"<?xml version='1.0' ?><person><age>25</age><name>James Smith</name></person>");
//創建一個BeanReader實例,相當於轉換器
BeanReader beanReader = new BeanReader();
//配置BeanReader實例
beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanReader.getBindingConfiguration().setMapIDs(false); //不自動生成ID
//註冊要轉換對象的類,並指定根節點名稱
beanReader.registerBeanClass("person", PersonBean.class);
//將XML解析Java Object
PersonBean person = (PersonBean) beanReader.parse(xmlReader);
//在控制檯輸出對象
System.out.println(person);
}
}
Process finished with exit code 0
import org.apache.commons.betwixt.io.BeanWriter;
import org.xml.sax.SAXException;
import java.beans.IntrospectionException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Collection;
/**
* 將java對象轉換爲xml,並輸出到文件
*/
public class WriteExampleApp {
public static final void main(String [] args) throws Exception {
//創建一個輸出流,將用來輸出Java轉換的XML文件
FileWriter outputWriter = new FileWriter("c:\\tttttttttt.txt");
//輸出XML的文件頭
outputWriter.write("<?xml version='1.0' ?>");
//創建一個BeanWriter實例,並將BeanWriter的輸出重定向到指定的輸出流
BeanWriter beanWriter = new BeanWriter(outputWriter);
//配置BeanWriter對象
beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
Person person = new Person("阿牛", 21);
beanWriter.write(person);
//關閉輸出流
outputWriter.close();
}
}
Process finished with exit code 0
import org.apache.commons.betwixt.io.BeanWriter;
import java.io.StringWriter;
/**
* 將Java對象轉換爲XML,並獲取其字符串
*
* @author leizhimin 2008-9-18 14:36:49
*/
public class WriteStringExampleApp {
public static final void main(String [] args) throws Exception {
String reslutXml;
//創建一個輸出流,將用來輸出Java轉換的XML文件
StringWriter outputWriter = new StringWriter();
//輸出XML的文件頭
outputWriter.write("<?xml version='1.0' ?>");
//創建一個BeanWriter實例,並將BeanWriter的輸出重定向到指定的輸出流
BeanWriter beanWriter = new BeanWriter(outputWriter);
//配置BeanWriter對象
beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
Person person = new Person("阿牛", 21);
beanWriter.write(person);
reslutXml = outputWriter.toString();
//關閉輸出流
outputWriter.close();
//控制檯輸出轉換結果的字符串
System.out.println(reslutXml);
}
}
<addList/>
<age>21</age>
<name>阿牛</name>
</Person>
Process finished with exit code 0