Úkoly č. 1
Uvažujme následující typ XML souboru:
<?xml version="1.0" ?> <recipe servings="2"> <name>Vaječné pyré s rajčatovým terčem</name> <cooktime>10</cooktime> <ingredients> <ingredient amount="4" unit="ks">vejce</ingredient> <ingredient amount="50" unit="g">špek</ingredient> <ingredient amount="1" unit="ks">cibule</ingredient> <ingredient amount="1" unit="špetka">soli</ingredient> <ingredient amount="20" unit="ml">kečup</ingredient> </ingredients> <directions> <step>na špeku osmažíme na kostičky nakrájenou cibuli</step> <step>vejce rozmícháme se špetkou soli a vmícháme do osmažené cibule</step> <step>před podáváním esteticky dozdobíme kečupem</step> </directions> </recipe>Navrhněte třídu
Recipe, 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 RecipeReaderWriter {
/**
* Nacte ze streamu XML soubor a dle nej vytvori prislusny objekt reprezentujici recept
*/
public Recipe loadRecipe(InputStream input) throws Exception;
/**
* Ulozi do prislusneho streamu XML soubor predstavujici dany recept
*/
public void storeRecipe(OutputStream output, Recipe recept) throws Exception;
}
Implementujte příslušné rozhraní jako třídy:
DOMRecipeReaderWriter-- aby využívalo DOM APISAXRecipeReaderWriter-- aby využívalo SAX API (pokus o zápis v tomto případě skončí vždy vyjímkou)StAXRecipeReaderWriter-- aby využívalo StAX API
Vyřešené úkoly zašlete do 24.2.2015 23:59 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.