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.java
aPocitadloHandler.java
je 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.java
změň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.java
a 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.java
je 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.xml
název článku a jeho autora.
Další zdroje informací
-
API dokumentace k Xercesu (mj. obsahuje i dokumentaci k DOM a SAX)