XStream

 XStream

 

XStream是codehaus上的一个开源项目,用于将Javabean serialize为xml格式,以及从xml中生成javabean。应该是属于data binding,和castor,xmlbeans比起来,简直是太轻量级了,castor和xmlbeans这种都是先定义schema,然后根据schema来generate java class,然后调用marshall和unmarshall方法来序列化javabean。这是属于重量级的方法,虽然功能强大,使用却不方便。如果你改了schema,势必要重新generate,这样你就不能在generate的java class上加上自己的方法。导致生成的java class纯粹用于serialize。以前的使用中就碰到这种问题。

     XStream不需要任何配置文件,所以使用起来非常方便,而且对序列化的Javabean没有任何要求,任何javabean都可以。

     commons的betwikt也具有类似的功能,但好像需要配置rule,显得还是稍微麻烦些。

XStream is a simple library to serialize objects to XML and back again.

 

Java Object:

public class Person {
    private Integer id;
    private String firstName;
    private String lastName;

    // constructor、getter、setter
}

demo:

class Demo {
    public static void main(String[] args) {
        // Initialing XStream
        XStream xStream = new XStream();
        xStream.alias("Person", Person.class);

        // serialize to XML
        Person person = new Person();
        person.setId(new Integer(6));
        person.setFirstName("Water");
        person.setLastName("Ye");

        String xml = xStream.toXML(person);

        // deserialize from XML
        Person newPerson = (Person) xStream.fromXML(xml);
    }
}

xml:

<Person>
<id>6</id>
<firstName>Water</firstName>
<lastName>Ye</lastName>
</Person>

你可能感兴趣的:(xml,String,schema,Integer,Class,Constructor)