XMLEventReader (Java SE 15 & JDK 15) (original) (raw)
All Superinterfaces:
[Iterator](../../../../java.base/java/util/Iterator.html "interface in java.util")<[Object](../../../../java.base/java/lang/Object.html "class in java.lang")>
All Known Implementing Classes:
[EventReaderDelegate](util/EventReaderDelegate.html "class in javax.xml.stream.util")
public interface XMLEventReader extends Iterator<Object>
This is the top level interface for parsing XML Events. It provides the ability to peek at the next event and returns configuration information through the property interface.
Since:
1.6
See Also:
XMLInputFactory, XMLEventWriter
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void | close() | Frees any resources associated with this Reader. |
String | getElementText() | Reads the content of a text-only element. |
Object | getProperty(String name) | Get the value of a feature/property from the underlying implementation |
boolean | hasNext() | Check if there are more events. |
XMLEvent | nextEvent() | Gets the next XMLEvent. |
XMLEvent | nextTag() | Skips any insignificant space events until a START_ELEMENT or END_ELEMENT is reached. |
XMLEvent | peek() | Check the next XMLEvent without reading it from the stream. |
Method Details
nextEvent
Gets the next XMLEvent. The initial event isStartDocument.
Returns:
the next XMLEvent
Throws:
[XMLStreamException](XMLStreamException.html "class in javax.xml.stream")
- if there is an error with the underlying XML.
[NoSuchElementException](../../../../java.base/java/util/NoSuchElementException.html "class in java.util")
- iteration has no more elements.
See Also:
XMLEventhasNext
boolean hasNext()
Check if there are more events. Returns true if there are more events and false otherwise.
Specified by:
[hasNext](../../../../java.base/java/util/Iterator.html#hasNext%28%29)
in interface[Iterator](../../../../java.base/java/util/Iterator.html "interface in java.util")<[Object](../../../../java.base/java/lang/Object.html "class in java.lang")>
Returns:
true if the event reader has more events, false otherwisepeek
Check the next XMLEvent without reading it from the stream. Returns null if the stream is at EOF or has no more XMLEvents. A call to peek() will be equal to the next return of next().
Returns:
the next XMLEvent
Throws:
[XMLStreamException](XMLStreamException.html "class in javax.xml.stream")
See Also:
XMLEventgetElementText
Reads the content of a text-only element. Precondition: the current event is START_ELEMENT. Postcondition: The current event is the corresponding END_ELEMENT.
Returns:
the text of the element
Throws:
[XMLStreamException](XMLStreamException.html "class in javax.xml.stream")
- if the current event is not a START_ELEMENT or if a non text element is encounterednextTag
Skips any insignificant space events until a START_ELEMENT or END_ELEMENT is reached. If anything other than space characters are encountered, an exception is thrown. This method should be used when processing element-only content because the parser is not able to recognize ignorable whitespace if the DTD is missing or not interpreted.
Returns:
a START_ELEMENT or END_ELEMENT
Throws:
[XMLStreamException](XMLStreamException.html "class in javax.xml.stream")
- if anything other than space characters are encounteredgetProperty
Get the value of a feature/property from the underlying implementation
Parameters:
name
- The name of the property
Returns:
The value of the property
Throws:
[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")
- if the property is not supportedclose
Frees any resources associated with this Reader. This method does not close the underlying input source.
Throws:
[XMLStreamException](XMLStreamException.html "class in javax.xml.stream")
- if there are errors freeing associated resources