Class XMLParser


  • public class XMLParser
    extends java.lang.Object
    Reads an XML file. Attach a XMLParserListener for receiving events.
    • Field Detail

      • state

        private State state
      • text

        private java.lang.String text
      • charset

        private java.nio.charset.Charset charset
      • decodeSpecialChars

        private boolean decodeSpecialChars
    • Constructor Detail

      • XMLParser

        public XMLParser()
        Constructs a default XMLParser ready for HTML/XHTML processing.
      • XMLParser

        public XMLParser​(boolean isHtml,
                         java.nio.charset.Charset charset)
        Constructs a XMLParser.
        Parameters:
        isHtml - false if this parser is not going to parse HTML and whitespace should be submitted as text too.
        charset - charset
      • XMLParser

        public XMLParser​(XMLParserListener listener,
                         java.nio.charset.Charset charset)
        Construct an XMLParser with the given XMLParserConfig ready for HTML/XHTML processing..
        Parameters:
        listener - the listener
        charset - the Charset
      • XMLParser

        public XMLParser​(boolean isHtml,
                         XMLParserListener listener,
                         java.nio.charset.Charset charset)
        Construct a XMLParser with the given XMLParserConfig.
        Parameters:
        isHtml - false if this parser is not going to parse HTML and whitespace should be submitted as text too.
        listener - the listener
        charset - the Charset to use
      • XMLParser

        public XMLParser​(boolean b,
                         XMLParserListener listener)
        Constructs a new Parser with the default jvm charset.
        Parameters:
        b - true if HTML is being parsed
        listener - the XMLParserListener
      • XMLParser

        public XMLParser​(XMLParserListener listener)
        Constructs a new Parser with HTML parsing set to true and the default jvm charset.
        Parameters:
        listener - the XMLParserListener
    • Method Detail

      • parse

        public void parse​(java.io.InputStream in)
                   throws java.io.IOException
        Parse an InputStream with default encoding set
        Parameters:
        in - the InputStream to parse
        Throws:
        java.io.IOException - if IO went wrong
      • parse

        public void parse​(java.io.InputStream in,
                          boolean detectEncoding)
                   throws java.io.IOException
        Parse an InputStream that optionally detects encoding from the stream
        Parameters:
        in - the InputStream to parse
        detectEncoding - true if encoding should be detected from the stream
        Throws:
        java.io.IOException - if IO went wrong
      • parse

        public void parse​(java.io.InputStream in,
                          java.nio.charset.Charset charSet)
                   throws java.io.IOException
        Parses an InputStream using the given encoding
        Parameters:
        in - the stream to read
        charSet - to use for the constructed reader.
        Throws:
        java.io.IOException - if reading fails
      • parse

        public void parse​(java.io.Reader reader)
                   throws java.io.IOException
        Parse an Reader
        Parameters:
        reader - the reader
        Throws:
        java.io.IOException - if IO went wrong
      • parseWithReader

        private void parseWithReader​(java.io.Reader reader)
                              throws java.io.IOException
        The actual parse method
        Parameters:
        reader -
        Throws:
        java.io.IOException
      • detectEncoding

        public java.io.InputStreamReader detectEncoding​(java.io.InputStream in)
                                                 throws java.io.IOException,
                                                        java.io.UnsupportedEncodingException
        Detects encoding from a stream.
        Parameters:
        in - the stream
        Returns:
        a Reader with the deduced encoding.
        Throws:
        java.io.IOException - if IO went wrong
        java.io.UnsupportedEncodingException - if unsupported encoding was detected
      • setState

        protected void setState​(State state)
        Set the current state.
        Parameters:
        state - the current state
      • append

        public XMLParser append​(char character)
        Parameters:
        character - the character to append
        Returns:
        the parser
      • unknownData

        public void unknownData()
        Triggered when the UnknownState encountered anything before encountering a tag.
      • flush

        public void flush()
        Flushes the currently stored data in the buffer.
      • current

        public java.lang.String current()
        Returns the current content of the text buffer.
        Returns:
        current buffer content
      • memory

        public XMLParserMemory memory()
        Returns the XMLParserMemory.
        Returns:
        the memory
      • startElement

        public void startElement()
        Triggered when an opening tag has been encountered.
      • callText

        private void callText()
        Call this method to submit the text to listeners.
      • endElement

        public void endElement()
        Triggered when a closing tag has been encountered.
      • text

        public void text​(java.lang.String bs)
        Triggered when content has been encountered.
        Parameters:
        bs - the content
      • comment

        public void comment()
        Triggered for comments.
      • currentLastChar

        public char currentLastChar()
        Returns:
        the current last character of the buffer or ' ' if none.
      • currentTag

        public java.lang.String currentTag()
        Get the current tag
        Returns:
        the current tag.
      • currentTagState

        public TagState currentTagState()
        Get the state of the current tag
        Returns:
        the state of the current tag
      • currentTagState

        private void currentTagState​(TagState state)
        Set the state of the current tag
        Parameters:
        state - the state of the current tag
      • setMonitor

        public void setMonitor​(ParserMonitor monitor)
        Parameters:
        monitor - the monitor to set
      • setDecodeSpecialChars

        public void setDecodeSpecialChars​(boolean decodeSpecialChars)
        Determines whether special chars like > will be decoded
        Parameters:
        decodeSpecialChars - true to decode, false to not decode
      • isDecodeSpecialChars

        public boolean isDecodeSpecialChars()
      • bufferToString

        public java.lang.String bufferToString()
        Returns:
        the current buffer as a String
      • append

        public XMLParser append​(char[] bytes)
        Parameters:
        bytes - the byte array to append
        Returns:
        this instance of the XMLParser
      • bufferSize

        public int bufferSize()
        Returns:
        the size of the buffer
      • append

        public XMLParser append​(java.lang.String string)
        Appends the given string to the buffer.
        Parameters:
        string - the String to append
        Returns:
        this instance of the XMLParser
      • getCharset

        public java.nio.charset.Charset getCharset()
        Returns the current used character set.
        Returns:
        the charset