XMLTokener (JSON in Java 20240205 API)

Package org.json

## Class XMLTokener

- java.lang.Object
- - org.json.JSONTokener
  - - org.json.XMLTokener

-     public class XMLTokener
      extends JSONTokener

  The XMLTokener extends the JSONTokener to provide additional methods for the parsing of XML texts.
  Version:
    2015-12-09
  Author:
    JSON.org

- - ### Field Summary

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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XMLTokener​(Reader r)` | Construct an XMLTokener from a Reader.
    `XMLTokener​(Reader r, XMLParserConfiguration configuration)` | Construct an XMLTokener from a Reader and an XMLParserConfiguration.
    `XMLTokener​(String s)` | Construct an XMLTokener from a string.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `nextCDATA()` | Get the text in the CDATA block.
    `Object` | `nextContent()` | Get the next XML outer token, trimming whitespace.
    `Object` | `nextEntity​(char ampersand)` | `Return the next entity. These entities are translated to Characters: &amp; &apos; &gt; &lt; &quot;.`
    `Object` | `nextMeta()` | `Returns the next XML meta token. This is used for skipping over <!...> and <?...?> structures.`
    `Object` | `nextToken()` | `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.`
    `void` | `skipPast​(String to)` | Skip characters until past the requested string.

    - ### Methods inherited from class org.json.JSONTokener

      `back, close, dehexchar, end, getPrevious, more, next, next, next, nextClean, nextString, nextTo, nextTo, nextValue, skipTo, syntaxError, 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 HashMap<String,​Character> entity

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

  - ### Constructor Detail

    - #### XMLTokener

          public XMLTokener​(Reader r)

      Construct an XMLTokener from a Reader.
      Parameters:
        `r` - A source reader.

    - #### XMLTokener

          public XMLTokener​(String s)

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

    - #### XMLTokener

          public XMLTokener​(Reader r,
                            XMLParserConfiguration configuration)

      Construct an XMLTokener from a Reader and an XMLParserConfiguration.
      Parameters:
        `r` - A source reader.
        `configuration` - the configuration that can be used to set certain flags

  - ### Method Detail

    - #### nextCDATA

          public 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 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` - if a called function has an error

    - #### nextEntity

          public Object nextEntity​(char ampersand)
                            throws JSONException

           Return the next entity. These entities are translated to Characters:
               &amp;  &apos;  &gt;  &lt;  &quot;.

      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 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 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 void skipPast​(String to)

      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.