API pro práci s XML
Nastavení prostředí
-
Stáhněte si ukázkové programy a data a někam je uložte.
-
Spusťte si příkazový řádek a přepněte se na něm do adresáře s ukázkami.
SAX
-
V souborech
Pocitadlo.javaaPocitadloHandler.javaje ukázka programu používajícího SAX. Prohlédněte si zdrojový kód. -
Program si zkompilujte:
javac Pocitadlo.java -
Zkuste program spustit na nějakém testovacím souboru:
java Pocitadlo x1.xml PARA -
Zkuste program spustit na dokumentu s chybou:
java Pocitadlo clanek-chyba.xml para -
Zkuste program spustit na dokument, který nevyhovuje DTD:
java Pocitadlo clanek-dtd-chyba.xml paraŽádná chyba není ohlášena. Změnit to lze přepnutím parseru do validujícího režimu:
-
V souboru
Pocitadlo.javazměňte řádekspf.setValidating(false);na
spf.setValidating(true); -
Program znovu překompilujte pomocí
javac -
Zkuste nyní zpracovat dokument, který nevyhovuje DTD. (Program by měl ohlásit chybu.)
-
DOM
-
V souboru
DOMPocitadlo.javaa je ukázka programu používajícího DOM. Prohlédněte si zdrojový kód. Je vidět, že DOM parser sám interně používá SAX parser. -
Program si zkompilujte:
javac DOMPocitadlo.java -
Zkuste program spustit na nějakém testovacím souboru:
java DOMPocitadlo x1.xml PARA -
Porovnejte rychlost počítadla elementů napsaného pomocí SAX a DOM.
-
Porovnejte paměťovou náročnost. Spusťte si Správce úloh a přepněte se na přehled procesů. Postupně spusťte SAX a DOM verzi počítadla a pozorujte, jaké paměťové nároky má proces
java.exe. -
V souboru
DOMFaktura.javaje program, který umí sečíst fakturu. Prohlédněte si jej, zkompilujte jej a spusťte.
Závěrečné cvičení
- Vytvořte program, který bude využívat rozhraní SAX nebo DOM a vypíše
ze souboru
clanek.xmlnázev článku a jeho autora.
Další zdroje informací
-
API dokumentace k Xercesu (mj. obsahuje i dokumentaci k DOM a SAX)