Jeżeli poszukujesz darmowej biblioteki do obsługi formatu XML dla języka Java, mogę polecić Ci bibliotekę XStream. XStream jest prostą biblioteką do serializacji obiektów do formatu XML i z powrotem. Biblioteka udostępniona jest na licencji BSD i nie powinien nikogo zdziwić fakt, że ostatnia jej aktualizacja datowana jest na grudzień 2008 roku. Jak chwalą się autorzy biblioteka jest:
- łatwa w użyciu
- nie musimy mapować naszych obiektów
- wydajna
Od siebie mogę dodać, że na stronach biblioteki znaleźć można napisany w przystępnej formie tutorial, umożliwiający szybkie rozpoczęcie pracy.
I tak, żeby zserializować następującą strukturę klas:
public class Person { private String firstname; private String lastname; private PhoneNumber phone; private PhoneNumber fax; // ... constructors and methods } public class PhoneNumber { private int code; private String number; // ... constructors and methods }
Wystarczy zainicjalizować i odpowiednio skonfigurować obiekt biblioteki:
XStream xstream = new XStream(); XStream xstream = new XStream(new DomDriver()); // does not require XPP3 library xstream.alias("person", Person.class); xstream.alias("phonenumber", PhoneNumber.class);
a następnie stworzyć obiekt, który chcielibyśmy wyeksportować:
Person joe = new Person("Joe", "Walnes"); joe.setPhone(new PhoneNumber(123, "1234-456")); joe.setFax(new PhoneNumber(123, "9999-999")); String xml = xstream.toXML(joe);
co w rezultacie da nam następujący kod:
<person> <firstname>Joe</firstname> <lastname>Walnes</lastname> <phone> <code>123</code> <number>1234-456</number> </phone> <fax> <code>123</code> <number>9999-999</number> </fax> </person>
Proces odwrotny jest równie prosty:
Person newJoe = (Person)xstream.fromXML(xml);
Dostępny na stronach projektu tutorial pozwoli nam na stworzenie bardziej zaawansowanych struktur.