Package groovy.xml

Class XmlSlurper

All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class XmlSlurper extends DefaultHandler
Parse XML into a document tree that may be traversed similar to XPath expressions. For example:
 import groovy.xml.XmlSlurper
 def rootNode = new XmlSlurper().parseText(
    '<root><one a1="uno!"/><two>Some text!</two></root>' )

 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'] }
 

Note that in some cases, a 'selector' expression may not resolve to a single node. For example:

 import groovy.xml.XmlSlurper
 def rootNode = new XmlSlurper().parseText(
    '''<root>
         <a>one!</a>
         <a>two!</a>
       </root>''' )

 assert rootNode.a.size() == 2
 rootNode.a.each { assert it.text() in ['one!','two!'] }
 
See Also: