Úkoly č. 1
Uvažujme následující typ XML souboru:
<?xml version="1.0" ?> <grades> <name>Tomáš Pech</name> <program>computer science</programn> <courses> <course name="Algorithms" credits="5" date="1.1.2017">A</course> <course name="Bioinformatics" credits="4" date="5.1.2017">B-</course> <course name="Compilers" date="10.2.2017" credits="2">C+</course> <course name="Databases" date="2.1.2017" credits="4">D</course> </courses> </grades>Navrhněte třídu
GradeReport
, do které bude možné uložit všechna data z daného XML souboru, přečíst hodnoty a vypsat je.
Uvažujme rozhraní:
public interface GradeReportReaderWriter { /** * Nacte ze streamu XML soubor a dle nej vytvori prislusny objekt tridy GradeReport */ public GradeReport loadGradeReport(InputStream input) throws Exception; /** * Ulozi do prislusneho streamu XML soubor predstavujici dane hodnoceni studenta */ public void storeGradeReport(OutputStream output, GradeReport gradeReport) throws Exception; }Implementujte příslušné rozhraní jako třídy:
DOMGradeReportReaderWriter
-- aby využívalo DOM APISAXGradeReportReaderWriter
-- aby využívalo SAX API (pokus o zápis v tomto případě skončí vždy vyjímkou)StAXGradeReportReaderWriter
-- aby využívalo StAX API
Vyřešené úkoly zašlete do 22.2.2017 13:00 CET na email petr.krajca (zavináč) upol.cz s předmětem: ZP4JV01. Zasílejte pouze zdrojové kódy. Pokud chcete zdrojové kódy poslat zkomprimované, použijte buď formát zip nebo kombinaci tar+gz.