Integracja aplikacji Ćwiczenie 4
Zapis danych do XML odbywa się bardzo podobnie, jak odczyt Aby zapisać pewien obiekt do XML, należy:
• przygotować kontekst JAXB (jak w powyższym kodzie);
• przygotować obiekt serializujący (zwany w JAXB „marshallerem"), wywołując metodę createMarshaller();
• wywołać metodę marshal(), przekazując do niej obiekt do zapisania oraz plik lub strumień wyjściowy.
Klasa, do której należy zapisywany obiekt musi posiadać odpowiednie adnotacje JAXB, w tym adnotację XmlRootElement. W naszym projekcie bezpośrednio zapisywać można obiekty klasy BookList.
Dopisz do metody main () kod realizujący następujące zadanie:
• stwórz nową książkę; jako autora podaj swoje imię i nazwisko, jako tytuł „Laboratorium: Java i XML";
• dodaj tę książkę do listy w utworzonym wcześniej obiekcie BookManager;
• wyszukaj książki ze słowem Java w tytule; wynik „opakuj” w klasę BookList (czyli utwórz nowy obiekt klasy BookList, metodą setBooks() zapisz w nim listę znalezionych książek);
• zapisz powstałą listę książek do nowego pliku XML o nazwie lab3. xml.
• Zrób kopię projektu - pierwotną wersję zachowaj na potrzeby kolejnych zajęć; kopii użyj w bieżącym zadaniu.
• Przyjrzyj się różnicy pomiędzy plikami books.xml i books.2.xml - w pierwszym przypadku autorzy książki są podani w jednym elemencie XML, po przecinku:
<author>Jan Kowalski, Jan Nowak</author> w drugim pliku autorzy są rozbici na osobne elementy:
<authors>
<author>Jan Kowalski</author>
<author>Jan Nowak</author>
</authors>