Import project from XML06.zip to Eclipse.
Program ...lab06.SAXFormatter
(making use of FormattingHandler
) prints out a given document (element tags and text nodes only, we do not handle special characters, etc.).
String.trim
Printing also comments is not so obvious in this case. We would have to use LexicalHandler
.
(Przykładowy dokument i tak jest po polsku...)
W pakiecie ...lab06.sklep
znajdziecie program ZnajdzMaxCene
oraz niedokończoną klasę MaxCenaHandler
,
cena
.W pakiecie ...lab06.sklep
znajdziecie program Filtruj
oraz niedokońcozną klasę FiltrKategorii
.
MaxCenaHandler
oraz FiltrKategorii
do zbudowania programu, który znajduje maksymalną cenę towaru w podanej kategorii. Wystarczy połączyć parser, filtr i handler w jeden łańcuszek i uruchomić parsowanie. W razie wątpliwości zobacz program SaxFiltry w przykładach.Streaming API fo XML offers more intuitive control flow than SAX.
It also directly supports writing documents – see XMLStreamWriter
and XMLEventWriter
classes.
Tworzenie Readara i Writera - może się przydać do ostatniego punktu poniższego zadania.
XMLInputFactory ifa = XMLInputFactory.newInstance(); XMLEventReader reader = ifa.createXMLEventReader(new FileInputStream(wej)); XMLOutputFactory ofa = XMLOutputFactory.newInstance(); XMLEventWriter writer = ofa.createXMLEventWriter(new FileOutputStream(wyj)); XMLEventFactory ef = XMLEventFactory.newInstance();
W pakiecie ...lab06.sklep
znajdziecie program SredniaCena_Stax
oraz klasę FiltrKategorii_Stax
.
Uwaga, działają one na wersji dokumentów z przestrzeniami nazw (sklep_ns.xml).
XMLEventWriter
, aby stworzyć program, który przepisuje plik zostawiając tylko towary z wybranej kategorii.
Niewykluczone, że filtr trzeba jeszcze poprawić/uzupełnić