Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.10
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## groovy.util
[Java] Class XmlParser

    java.lang.Object
      groovy.util.XmlParser

All Implemented Interfaces:
  ContentHandler

    public class XmlParser
    extends Object

A helper class for parsing XML into a tree of Node instances for a simple way of processing XML. This parser does not preserve the XML InfoSet - if that's what you need try using W3C DOM, dom4j, JDOM, XOM etc. This parser ignores comments and processing instructions and converts the XML into a Node for each element in the XML with attributes and child Nodes and Strings. This simple model is sufficient for most simple use cases of processing XML.

Example usage:

     def xml = '<root><one a1="uno!"/><two>Some text!</two></root>'
     def rootNode = new XmlParser().parseText(xml)
     assert rootNode.name() == 'root'
     assert rootNode.one[0].@a1 == 'uno!'
     assert rootNode.two.text() == 'Some text!'
     rootNode.children().each { assert it.name() in ['one','two'] }

Authors:
  James Strachan
  Paul King

Version:
  \$Revision: 19636 \$

Constructor Summary
`XmlParser()`
`XmlParser(boolean validating, boolean namespaceAware)`
`XmlParser(XMLReader reader)`
`XmlParser(SAXParser parser)`

Method Summary
`protected void` | `addTextToNode()`
`void` | `characters(char[] buffer, int start, int length)`
`protected Node` | `createNode(Node parent, Object name, Map attributes)` Creates a new node with the given parent, name, and attributes.
`void` | `endDocument()`
`void` | `endElement(String namespaceURI, String localName, String qName)`
`void` | `endPrefixMapping(String prefix)`
`DTDHandler` | `getDTDHandler()`
`Locator` | `getDocumentLocator()`
`protected Object` | `getElementName(String namespaceURI, String localName, String qName)` Return a name given the namespaceURI, localName and qName.
`EntityResolver` | `getEntityResolver()`
`ErrorHandler` | `getErrorHandler()`
`boolean` | `getFeature(String uri)`
`Object` | `getProperty(String uri)`
`protected XMLReader` | `getXMLReader()`
`void` | `ignorableWhitespace(char[] buffer, int start, int len)`
`boolean` | `isNamespaceAware()` Determine if namspace handling is enabled.
`boolean` | `isTrimWhitespace()` Returns the current trim whitespace setting.
`Node` | `parse(File file)` Parses the content of the given file as XML turning it into a tree of Nodes.
`Node` | `parse(InputSource input)` Parse the content of the specified input source into a tree of Nodes.
`Node` | `parse(InputStream input)` Parse the content of the specified input stream into a tree of Nodes.
`Node` | `parse(Reader in)` Parse the content of the specified reader into a tree of Nodes.
`Node` | `parse(String uri)` Parse the content of the specified URI into a tree of Nodes.
`Node` | `parseText(String text)` A helper method to parse the given text as XML.
`void` | `processingInstruction(String target, String data)`
`void` | `setDTDHandler(DTDHandler dtdHandler)`
`void` | `setDocumentLocator(Locator locator)`
`void` | `setEntityResolver(EntityResolver entityResolver)`
`void` | `setErrorHandler(ErrorHandler errorHandler)`
`void` | `setFeature(String uri, boolean value)`
`void` | `setNamespaceAware(boolean namespaceAware)` Enable and/or disable namspace handling.
`void` | `setProperty(String uri, Object value)`
`void` | `setTrimWhitespace(boolean trimWhitespace)` Sets the trim whitespace setting value.
`void` | `skippedEntity(String name)`
`void` | `startDocument()`
`void` | `startElement(String namespaceURI, String localName, String qName, Attributes list)`
`void` | `startPrefixMapping(String prefix, String namespaceURI)`

Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Constructor Detail

### XmlParser

    public XmlParser()

### XmlParser

    public XmlParser(boolean validating, boolean namespaceAware)

### XmlParser

    public XmlParser(XMLReader reader)

### XmlParser

    public XmlParser(SAXParser parser)

Method Detail

### addTextToNode

    protected void addTextToNode()

### characters

    public void characters(char[] buffer, int start, int length)

### createNode

    protected Node createNode(Node parent, Object name, Map attributes)

  Creates a new node with the given parent, name, and attributes. The default implementation returns an instance of `groovy.util.Node`.
  Parameters:
    `parent` - the parent node, or null if the node being created is the root node
    `name` - an Object representing the name of the node (typically an instance of QName)
    `attributes` - a Map of attribute names to attribute values
  Returns:
    a new Node instance representing the current node

### endDocument

    public void endDocument()

### endElement

    public void endElement(String namespaceURI, String localName, String qName)

### endPrefixMapping

    public void endPrefixMapping(String prefix)

### getDTDHandler

    public DTDHandler getDTDHandler()

### getDocumentLocator

    public Locator getDocumentLocator()

### getElementName

    protected Object getElementName(String namespaceURI, String localName, String qName)

  Return a name given the namespaceURI, localName and qName.
  Parameters:
    `namespaceURI` - the namespace URI
    `localName` - the local name
    `qName` - the qualified name
  Returns:
    the newly created representation of the name

### getEntityResolver

    public EntityResolver getEntityResolver()

### getErrorHandler

    public ErrorHandler getErrorHandler()

### getFeature

    public boolean getFeature(String uri)

### getProperty

    public Object getProperty(String uri)

### getXMLReader

    protected XMLReader getXMLReader()

### ignorableWhitespace

    public void ignorableWhitespace(char[] buffer, int start, int len)

### isNamespaceAware

    public boolean isNamespaceAware()

  Determine if namspace handling is enabled.
  Returns:
    true if namespace handling is enabled

### isTrimWhitespace

    public boolean isTrimWhitespace()

  Returns the current trim whitespace setting.
  Returns:
    true if whitespace will be trimmed

### parse

    public Node parse(File file)

  Parses the content of the given file as XML turning it into a tree of Nodes.
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `file` - the File containing the XML to be parsed
  Returns:
    the root node of the parsed tree of Nodes

### parse

    public Node parse(InputSource input)

  Parse the content of the specified input source into a tree of Nodes.
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `input` - the InputSource for the XML to parse
  Returns:
    the root node of the parsed tree of Nodes

### parse

    public Node parse(InputStream input)

  Parse the content of the specified input stream into a tree of Nodes.

  Note that using this method will not provide the parser with any URI for which to find DTDs etc
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `input` - an InputStream containing the XML to be parsed
  Returns:
    the root node of the parsed tree of Nodes

### parse

    public Node parse(Reader in)

  Parse the content of the specified reader into a tree of Nodes.

  Note that using this method will not provide the parser with any URI for which to find DTDs etc
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `in` - a Reader to read the XML to be parsed
  Returns:
    the root node of the parsed tree of Nodes

### parse

    public Node parse(String uri)

  Parse the content of the specified URI into a tree of Nodes.
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `uri` - a String containing a uri pointing to the XML to be parsed
  Returns:
    the root node of the parsed tree of Nodes

### parseText

    public Node parseText(String text)

  A helper method to parse the given text as XML.
  throws:
    SAXException Any SAX exception, possibly wrapping another exception.
  throws:
    IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  Parameters:
    `text` - the XML text to parse
  Returns:
    the root node of the parsed tree of Nodes

### processingInstruction

    public void processingInstruction(String target, String data)

### setDTDHandler

    public void setDTDHandler(DTDHandler dtdHandler)

### setDocumentLocator

    public void setDocumentLocator(Locator locator)

### setEntityResolver

    public void setEntityResolver(EntityResolver entityResolver)

### setErrorHandler

    public void setErrorHandler(ErrorHandler errorHandler)

### setFeature

    public void setFeature(String uri, boolean value)

### setNamespaceAware

    public void setNamespaceAware(boolean namespaceAware)

  Enable and/or disable namspace handling.
  Parameters:
    `namespaceAware` - the new desired value

### setProperty

    public void setProperty(String uri, Object value)

### setTrimWhitespace

    public void setTrimWhitespace(boolean trimWhitespace)

  Sets the trim whitespace setting value.
  Parameters:
    `trimWhitespace` - the desired setting value

### skippedEntity

    public void skippedEntity(String name)

### startDocument

    public void startDocument()

### startElement

    public void startElement(String namespaceURI, String localName, String qName, Attributes list)

### startPrefixMapping

    public void startPrefixMapping(String prefix, String namespaceURI)

Copyright © 2003-2010 The Codehaus. All rights reserved.