betwixt로 Javabean与XML 사이전환

필요한 jar package(http://commons.apache.org)

betwixt API 참고:http://commons.apache.org/betwixt/betwixt-0.8/docs/apidocs/index.html

commons-beanutils-1.8.3.jar
commons-betwixt-0.8.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-logging-1.1.1.jar

 

package test;
import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.commons.betwixt.io.BeanWriter;
import org.xml.sax.SAXException;

public class Bean2Xml{
    public static void main(String[] args) {
        StringWriter outputWriter = new StringWriter();  
        outputWriter.write("<?xml version='1.0' ?>/n");
        BeanWriter writer = new BeanWriter(outputWriter);
        writer.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
        writer.getBindingConfiguration().setMapIDs(false);
        writer.enablePrettyPrint();
        try {
            writer.write("personbean", new Person("Kimura",20));  //abstractBeanWriter의 write(String qualifiedName,Object bean)
            PrintWriter pw = new PrintWriter("personbean.xml"); 
            pw.write(outputWriter.toString());
            outputWriter.close();
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IntrospectionException e) {
            e.printStackTrace();
        }
    }
}

 

//xml을 bean으로
BeanReader beanReader
= new BeanReader(); beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false); beanReader.getBindingConfiguration().setMapIDs(false); beanReader.registerBeanClass("person", Person.class); PersonBean person = (PersonBean) beanReader.parse(xmlReader); System.out.println(person);

 

 

posted @ 2012-08-15 15:04  Introspector  阅读(389)  评论(0编辑  收藏  举报