XStream - это библиотека, которая позволяет очень легко преобразовывать объекты в XML и наоборот.
Итак, допустим у нас есть объект некоторого класса Круг (Circle) - это будет наш класс, который мы будем преобразовывать в ХМЛ (сериализировать).
class Circle{
private Point center;
private int R;
public Circle(Point c,int r){
this.center=c;
this.R=r;
}
//...
}
// вспомагательный класс
class Point{
private int x;
private int y;
public Point(int x, int y){
this.x=x;
this.y=y;
}
//...
}
Переходим к работе с библиотекой XStream. Для работі нам понадобятся два jar файла : xstream-[version].jar и xpp3-[version].jar. После подключения необходимых библиотек к проекту (скачать их можно на сайте указанном в конце статьи), необходимо указать в каком пакете она находится:
import com.thoughtworks.xstream.*;
Пеперь проведём её инициализацию. Для начала создаём объект класса XStream:
XStream xstream = new XStream();
Теперь надо указать соответствие между именами классов, которые будут преобразовыватся в ХМЛ и элементами ХМЛ.
xstream.alias("circle", Circle.class);
xstream.alias("point", Point.class);
Теперь переходим к сериализации.
Для начала создаём наш объект:
Circle crcl = new Circle(new Point(10,10),50);
Для того что - бы преобразовать его в ХМЛ, достаточно выполнить вызвать функцию toXML с нашим объектом в качестве параметра:
String xml_C = xstream.toXML(crcl);
В результате мы получаем хмл строку вида:
<circle>
<center>
<x>10</x>
<y>10</y>
</center>
<R>50</R>
</circle>
Для того что-бы воссоздать наш объект из ХМЛ, достаточно вызвать функцию fromXML:
Circle myCircle = (Circle)xstream.fromXML(xml_C);
В следующей части мы рассмотрим как библиотека XStream преобразовывает в ХМЛ масивы объектов.
ресурсы:
http://xstream.codehaus.org/
Комментариев нет:
Отправить комментарий