API pro práci s XML

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 a PocitadloHandler.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:

    1. V souboru Pocitadlo.java změňte řádek

      spf.setValidating(false);

      na

      spf.setValidating(true);

    2. Program znovu překompilujte pomocí javac

    3. 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.