ZP4JV-01: XML
- blax65
- 30. 10. 2015
- Minut čtení: 1
Odkaz na cvičení: zde
Odkaz s řešenými zdrojovými kódy: zde
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 API
SAXRecipeReaderWriter -- aby využívalo SAX API (pokus o zápis v tomto případě skončí vždy vyjímkou)
StAXRecipeReaderWriter -- aby využívalo StAX API
Comments