public class XmlParser
extends org.xml.sax.helpers.DefaultHandler
This is a thin layer on top of a SAX parser. The key concept necessary to understand this parser is Element Handler. Element handlers are type-specific parsers. Each handler instance contains an instance of the Java type corresponding to the XML type it parses. At any given time, one handler is active, and zero or more handlers are kept on the stack. This corresponds directly to the set of currently opened XML tags.
To use this parser, one must define an XmlParser.ElementHandler
type (usually one per XML schema type),
specify the root element handler, and pass a reader to the
parse(Reader, com.google.gdata.util.XmlParser.ElementHandler, String,
String)
method.
XmlParser.ElementHandler
Modifier and Type | Class and Description |
---|---|
static class |
XmlParser.ElementHandler
Base class for custom element handlers.
|
Constructor and Description |
---|
XmlParser() |
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] text,
int start,
int len)
SAX callback.
|
void |
endElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String qName)
SAX callback.
|
void |
endPrefixMapping(java.lang.String alias)
SAX callback.
|
void |
ignorableWhitespace(char[] text,
int start,
int len)
SAX callback.
|
void |
parse(java.io.InputStream input,
XmlParser.ElementHandler rootHandler,
java.lang.String rootNamespace,
java.lang.String rootElementName)
Parses XML.
|
void |
parse(java.io.Reader reader,
XmlParser.ElementHandler rootHandler,
java.lang.String rootNamespace,
java.lang.String rootElementName)
Parses XML.
|
void |
parse(XmlParser.ElementHandler rootHandler,
java.lang.String rootNamespace,
java.lang.String rootElementName)
Parses XML from a content source provided to the parser at
construction time.
|
void |
setDocumentLocator(org.xml.sax.Locator locator)
SAX callback.
|
void |
startElement(java.lang.String namespace,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes attrs)
SAX callback.
|
void |
startPrefixMapping(java.lang.String alias,
java.lang.String uri)
SAX callback.
|
public void parse(java.io.Reader reader, XmlParser.ElementHandler rootHandler, java.lang.String rootNamespace, java.lang.String rootElementName) throws java.io.IOException, ParseException
reader
- Supplies the XML to parse.rootHandler
- The root element handler corresponding to the expected document
type.rootNamespace
- Root element namespace URI.rootElementName
- Root element name.java.io.IOException
- Thrown by reader
.ParseException
- XML failed to validate against the schema implemented by
rootHandler
.public void parse(java.io.InputStream input, XmlParser.ElementHandler rootHandler, java.lang.String rootNamespace, java.lang.String rootElementName) throws java.io.IOException, ParseException
input
- Supplies the XML to parse.rootHandler
- The root element handler corresponding to the expected document
type.rootNamespace
- Root element namespace URI.rootElementName
- Root element name.java.io.IOException
- Thrown by input
.ParseException
- XML failed to validate against the schema implemented by
rootHandler
.public void parse(XmlParser.ElementHandler rootHandler, java.lang.String rootNamespace, java.lang.String rootElementName) throws java.io.IOException, ParseException
rootHandler
- The root element handler corresponding to the expected document
type.rootNamespace
- Root element namespace URI.rootElementName
- Root element name.java.io.IOException
- Thrown by reader
.ParseException
- XML failed to validate against the schema implemented by
rootHandler
.public void startElement(java.lang.String namespace, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attrs) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void endElement(java.lang.String namespace, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void characters(char[] text, int start, int len) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
characters
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void ignorableWhitespace(char[] text, int start, int len) throws org.xml.sax.SAXException
ignorableWhitespace
in interface org.xml.sax.ContentHandler
ignorableWhitespace
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void setDocumentLocator(org.xml.sax.Locator locator)
setDocumentLocator
in interface org.xml.sax.ContentHandler
setDocumentLocator
in class org.xml.sax.helpers.DefaultHandler
public void startPrefixMapping(java.lang.String alias, java.lang.String uri)
startPrefixMapping
in interface org.xml.sax.ContentHandler
startPrefixMapping
in class org.xml.sax.helpers.DefaultHandler
public void endPrefixMapping(java.lang.String alias)
endPrefixMapping
in interface org.xml.sax.ContentHandler
endPrefixMapping
in class org.xml.sax.helpers.DefaultHandler