...
| Code Block |
|---|
import javax.xml.parsers.DocumentBuilderFactory
messages = []
def processCar(car) {
if (car.nodeName != 'car') return
def make = car.attributes.getNamedItem('make').nodeValue
def country = car.getElementsByTagName('country').item(0).firstChild.nodeValue
def type = car.childNodes.find{'record' == it.nodeName}.attributes.getNamedItem('type').nodeValue
messages << make + ' of ' + country + ' has a ' + type + ' record'
}
def factorybuilder = DocumentBuilderFactory.newInstance()
def builder = factory.newDocumentBuilder()
def bytesinputStream = = new ByteArrayInputStream(XmlExamples.CAR_RECORDS.bytes
def inputStream = new ByteArrayInputStream(bytes)
def docrecords = builder.parse(inputStream)
def records = doc.documentElement
def cars = records.childNodes
(0..<cars.length).each{ processCar(cars.item(it)) }
assert messages == [
'Holden of Australia has a speed record',
'Peel of Isle of Man has a size record',
'Bugatti of France has a price record'
]
|