Aşağıda XStream kullanımı örneklenmiştir.
package x.y.z;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XStreamTester {
public static class Person {
private String name;
private Date birthDate = new Date();
public Person(String name) {
this.name = name;
}
@Override
public String toString() {
return String.format("%s,%s", name, birthDate);
}
}
public static class Author extends Person {
private List<Book> books = new ArrayList<Book>();
public Author(String name) {
super(name);
}
public List<Book> getBooks() {
return books;
}
@Override
public String toString() {
return String.format("%s,%s", super.toString(), books);
}
}
public static class Book {
private String name;
private Author author;
public Book(String name, Author author) {
this.name = name;
this.author = author;
}
@Override
public String toString() {
return String.format("%s", name);
}
}
public static void main(String[] args) {
Author author1 = new Author("author1");
author1.getBooks().add(new Book("book1", author1));
author1.getBooks().add(new Book("book2", author1));
author1.getBooks().add(new Book("book3", author1));
XStream xstream = new XStream(new DomDriver());
xstream.alias("Book", Book.class); // XML icinde sinifi tanimlayan etiket olarak verdigimiz isim kullanilir
xstream.omitField(Person.class, "birthDate"); // Verilen alan serilestirmeye sokulmaz
String xml = xstream.toXML(author1);
System.out.printf("%s\n\n", xml);
System.out.printf("before : %s\n", author1);
Object object = xstream.fromXML(xml);
System.out.printf("after : %s\n", object);
}
}
Bu kod çalışınca aşağıdaki çıktı alınacaktır:<x.y.z.XStreamTester_-Author>
<name>author1</name>
<books>
<Book>
<name>book1</name>
<author reference="../../.."/>
</Book>
<Book>
<name>book2</name>
<author reference="../../.."/>
</Book>
<Book>
<name>book3</name>
<author reference="../../.."/>
</Book>
</books>
</x.y.z.XStreamTester_-Author>
before : author1,Fri May 13 22:14:19 EEST 2011,[book1, book2, book3]
after : author1,null,[book1, book2, book3]
Linkler:
1 yorum:
Castor JDO de bu konuda basarili kutuphanelerdendir.
Yorum Gönder