XMLEvent (Java Platform SE 8 )
Keywords: javax.xml.stream.events.XMLEvent interface
Date: 2026-08-19

compact2, compact3
javax.xml.stream.events

## Interface XMLEvent

- All Superinterfaces:
    XMLStreamConstants
  All Known Subinterfaces:
    Attribute, Characters, Comment, DTD, EndDocument, EndElement, EntityDeclaration, EntityReference, Namespace, NotationDeclaration, ProcessingInstruction, StartDocument, StartElement

      public interface XMLEvent
      extends XMLStreamConstants

  This is the base event interface for handling markup events. Events are value objects that are used to communicate the XML 1.0 InfoSet to the Application. Events may be cached and referenced after the parse has completed.
  Since:
    1.6
  Version:
    1.0
  See Also:
    `XMLEventReader`, `Characters`, `ProcessingInstruction`, `StartElement`, `EndElement`, `StartDocument`, `EndDocument`, `EntityReference`, `EntityDeclaration`, `NotationDeclaration`

- - ### Field Summary

    - ### Fields inherited from interface javax.xml.stream.XMLStreamConstants

      `ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Characters` | `asCharacters()` Returns this event as Characters, may result in a class cast exception if this event is not Characters.
    `EndElement` | `asEndElement()` Returns this event as an end element event, may result in a class cast exception if this event is not a end element.
    `StartElement` | `asStartElement()` Returns this event as a start element event, may result in a class cast exception if this event is not a start element.
    `int` | `getEventType()` Returns an integer code for this event.
    `Location` | `getLocation()` Return the location of this event.
    `QName` | `getSchemaType()` This method is provided for implementations to provide optional type information about the associated event.
    `boolean` | `isAttribute()` A utility function to check if this event is an Attribute.
    `boolean` | `isCharacters()` A utility function to check if this event is Characters.
    `boolean` | `isEndDocument()` A utility function to check if this event is an EndDocument.
    `boolean` | `isEndElement()` A utility function to check if this event is a EndElement.
    `boolean` | `isEntityReference()` A utility function to check if this event is an EntityReference.
    `boolean` | `isNamespace()` A utility function to check if this event is a Namespace.
    `boolean` | `isProcessingInstruction()` A utility function to check if this event is a ProcessingInstruction.
    `boolean` | `isStartDocument()` A utility function to check if this event is a StartDocument.
    `boolean` | `isStartElement()` A utility function to check if this event is a StartElement.
    `void` | `writeAsEncodedUnicode(Writer writer)` This method will write the XMLEvent as per the XML 1.0 specification as Unicode characters.

- - ### Method Detail

    - #### getEventType

          int getEventType()

      Returns an integer code for this event.
      See Also:
        `XMLStreamConstants.START_ELEMENT`, `XMLStreamConstants.END_ELEMENT`, `XMLStreamConstants.CHARACTERS`, `XMLStreamConstants.ATTRIBUTE`, `XMLStreamConstants.NAMESPACE`, `XMLStreamConstants.PROCESSING_INSTRUCTION`, `XMLStreamConstants.COMMENT`, `XMLStreamConstants.START_DOCUMENT`, `XMLStreamConstants.END_DOCUMENT`, `XMLStreamConstants.DTD`

    - #### getLocation

          Location getLocation()

      Return the location of this event. The Location returned from this method is non-volatile and will retain its information.
      See Also:
        `Location`

    - #### isStartElement

          boolean isStartElement()

      A utility function to check if this event is a StartElement.
      See Also:
        `StartElement`

    - #### isAttribute

          boolean isAttribute()

      A utility function to check if this event is an Attribute.
      See Also:
        `Attribute`

    - #### isNamespace

          boolean isNamespace()

      A utility function to check if this event is a Namespace.
      See Also:
        `Namespace`

    - #### isEndElement

          boolean isEndElement()

      A utility function to check if this event is a EndElement.
      See Also:
        `EndElement`

    - #### isEntityReference

          boolean isEntityReference()

      A utility function to check if this event is an EntityReference.
      See Also:
        `EntityReference`

    - #### isProcessingInstruction

          boolean isProcessingInstruction()

      A utility function to check if this event is a ProcessingInstruction.
      See Also:
        `ProcessingInstruction`

    - #### isCharacters

          boolean isCharacters()

      A utility function to check if this event is Characters.
      See Also:
        `Characters`

    - #### isStartDocument

          boolean isStartDocument()

      A utility function to check if this event is a StartDocument.
      See Also:
        `StartDocument`

    - #### isEndDocument

          boolean isEndDocument()

      A utility function to check if this event is an EndDocument.
      See Also:
        `EndDocument`

    - #### asStartElement

          StartElement asStartElement()

      Returns this event as a start element event, may result in a class cast exception if this event is not a start element.

    - #### asEndElement

          EndElement asEndElement()

      Returns this event as an end element event, may result in a class cast exception if this event is not a end element.

    - #### asCharacters

          Characters asCharacters()

      Returns this event as Characters, may result in a class cast exception if this event is not Characters.

    - #### getSchemaType

          QName getSchemaType()

      This method is provided for implementations to provide optional type information about the associated event. It is optional and will return null if no information is available.

    - #### writeAsEncodedUnicode

          void writeAsEncodedUnicode(Writer writer)
                              throws XMLStreamException

      This method will write the XMLEvent as per the XML 1.0 specification as Unicode characters. No indentation or whitespace should be outputted. Any user defined event type SHALL have this method called when being written to on an output stream. Built in Event types MUST implement this method, but implementations MAY choose not call these methods for optimizations reasons when writing out built in Events to an output stream. The output generated MUST be equivalent in terms of the infoset expressed.
      Parameters:
        `writer` - The writer that will output the data
      Throws:
        `XMLStreamException` - if there is a fatal error writing the event

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.