Capturing the Event Stream
110
S
TREAMING
API
FOR
XML
Creating the Filter
The next step is to instantiate a file input stream and create the stream filter:
FileInputStream fis = new FileInputStream(filename);
XMLStreamReader xmlr =
xmlif.createFilteredReader(xmlif.createXMLStreamReader(fis),
new MyStreamFilter());
int eventType = xmlr.getEventType();
printEventType(eventType);
while(xmlr.hasNext()){
eventType = xmlr.next();
printEventType(eventType);
printName(xmlr,eventType);
printText(xmlr);
if(xmlr.isStartElement()){
printAttributes(xmlr);
}
printPIData(xmlr);
System.out.println("-----------------------------");
}
Capturing the Event Stream
The next step is to capture the event stream. This is done in basically the same
way as in the
sample.
Filtering the Stream
The final step is the filter the stream:
public boolean accept(XMLStreamReader reader) {
if(!reader.isStartElement() && !reader.isEndElement())
return false;
else
return true;
}