Import project from XML06.zip to Eclipse.
Program 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 pl.mimuw.xml.sklep
znajdziecie program ZnajdzMaxCene
oraz niedokończoną klasę MaxCenaHandler
,
cena
.W pakiecie pl.mimuw.xml.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 pl.mimuw.xml.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ć