com.intellectualcrafters.json

## Class XMLTokener

- java.lang.Object
- - com.intellectualcrafters.json.JSONTokener
  - - com.intellectualcrafters.json.XMLTokener

-     public class XMLTokener
      extends JSONTokener

  The XMLTokener extends the JSONTokener to provide additional methods for the parsing of XML texts.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.util.HashMap<java.lang.String,java.lang.Character>` | `entity` The table of entity values.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XMLTokener(java.lang.String s)` Construct an XMLTokener from a string.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `nextCDATA()` Get the text in the CDATA block.
    `java.lang.Object` | `nextContent()` Get the next XML outer token, trimming whitespace.
    `java.lang.Object` | `nextEntity(char ampersand)` Return the next entity.
    `java.lang.Object` | `nextMeta()` Returns the next XML meta token.
    `java.lang.Object` | `nextToken()` Get the next XML Token.
    `boolean` | `skipPast(java.lang.String to)` Skip characters until past the requested string.

    - ### Methods inherited from class com.intellectualcrafters.json.JSONTokener

      `back, dehexchar, end, more, next, next, next, nextClean, nextString, nextTo, nextTo, nextValue, skipTo, syntaxError, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### entity

          public static final java.util.HashMap<java.lang.String,java.lang.Character> entity

      The table of entity values. It initially contains Character values for amp, apos, gt, lt, quot.

  - ### Constructor Detail

    - #### XMLTokener

          public XMLTokener(java.lang.String s)

      Construct an XMLTokener from a string.
      Parameters:
        `s` - A source string.

  - ### Method Detail

    - #### nextCDATA

          public java.lang.String nextCDATA()
                                     throws JSONException

      Get the text in the CDATA block.
      Returns:
        The string up to the `]]>`.
      Throws:
        `JSONException` - If the `]]>` is not found.

    - #### nextContent

          public java.lang.Object nextContent()
                                       throws JSONException

      Get the next XML outer token, trimming whitespace. There are two kinds of tokens: the '<' character which begins a markup tag, and the content text between markup tags.
      Returns:
        A string, or a '<' Character, or null if there is no more source text.
      Throws:
        `JSONException`

    - #### nextEntity

          public java.lang.Object nextEntity(char ampersand)
                                      throws JSONException

      Return the next entity. These entities are translated to Characters: `& ' > < "`.
      Parameters:
        `ampersand` - An ampersand character.
      Returns:
        A Character or an entity String if the entity is not recognized.
      Throws:
        `JSONException` - If missing ';' in XML entity.

    - #### nextMeta

          public java.lang.Object nextMeta()
                                    throws JSONException

      Returns the next XML meta token. This is used for skipping over and structures.
      Returns:
        Syntax characters (`< > / = ! ?`) are returned as Character, and strings and names are returned as Boolean. We don't care what the values actually are.
      Throws:
        `JSONException` - If a string is not properly closed or if the XML is badly structured.

    - #### nextToken

          public java.lang.Object nextToken()
                                     throws JSONException

      Get the next XML Token. These tokens are found inside of angle brackets. It may be one of these characters: `/ > = ! ?` or it may be a string wrapped in single quotes or double quotes, or it may be a name.
      Returns:
        a String or a Character.
      Throws:
        `JSONException` - If the XML is not well formed.

    - #### skipPast

          public boolean skipPast(java.lang.String to)
                           throws JSONException

      Skip characters until past the requested string. If it is not found, we are left at the end of the source with a result of false.
      Parameters:
        `to` - A string to skip past.
      Throws:
        `JSONException`