public class StreamReaderFilter extends ReaderDelegate
Apply a filter to the StreamReader
Constructor and Description |
---|
StreamReaderFilter(javax.xml.stream.XMLStreamReader reader) |
StreamReaderFilter(javax.xml.stream.XMLStreamReader reader,
javax.xml.stream.StreamFilter filter) |
Modifier and Type | Method and Description |
---|---|
boolean |
hasNext()
Returns true if there are more parsing events and false
if there are no more events.
|
static void |
main(java.lang.String[] args) |
int |
next()
Get next parsing event - a processor may return all contiguous
character data in a single chunk, or it may split it into several chunks.
|
void |
setFilter(javax.xml.stream.StreamFilter filter) |
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getDelegate, getElementText, getEncoding, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getPIData, getPITarget, getPrefix, getProperty, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasText, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartElement, isWhiteSpace, nextTag, require, setDelegate, standaloneSet
public StreamReaderFilter(javax.xml.stream.XMLStreamReader reader)
public StreamReaderFilter(javax.xml.stream.XMLStreamReader reader, javax.xml.stream.StreamFilter filter)
public void setFilter(javax.xml.stream.StreamFilter filter)
public int next() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamReader
Given the following XML:
<foo><!--description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo>
The behavior of calling next() when being on foo will be:
1- the comment (COMMENT)
2- then the characters section (CHARACTERS)
3- then the CDATA section (another CHARACTERS)
4- then the next characters section (another CHARACTERS)
5- then the END_ELEMENT
NOTE: empty element (such as <tag/>) will be reported with two separate events: START_ELEMENT, END_ELEMENT - This preserves parsing equivalency of empty element to <tag></tag>. This method will throw an IllegalStateException if it is called after hasNext() returns false.
next
in interface javax.xml.stream.XMLStreamReader
next
in class ReaderDelegate
javax.xml.stream.XMLStreamException
- if there is an error processing the underlying XML sourceXMLEvent
public boolean hasNext() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamReader
hasNext
in interface javax.xml.stream.XMLStreamReader
hasNext
in class ReaderDelegate
javax.xml.stream.XMLStreamException
- if there is a fatal error detecting the next statepublic static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception