I’m getting a XML responde like this:
xml = grails.converters.XML.parse( new URL( 'http://...) )
The XML is the following:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">272</int>
<lst name="params">
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">roger federer</str>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
<result name="response" numFound="29327" start="0">
<doc>
<str name="id">135350</str>
<int name="revision">723055</int>
<date name="timestamp">2005-08-21T22:34:05Z</date>
<str name="title">Federer</str>
<str name="titleText">Federer</str>
<str name="user">Indech</str>
<str name="userId">3073</str>
</doc>
<doc>...</doc>
...
<doc>...</doc>
</result>
</response>
And i want to store three things here:
<int name="QTime">272</int>
<str name="q">roger federer</str>
<result name="response" numFound="29327" start="0">
My output wud be:
def one = '272'
def two = 'roger federer'
def three = '29327'
How can i accomplish that=? I would appreciate some help on this. Preferebly Groovy and not Java.
One way of doing this might be:
But it’s a bit dependent on the xml being n the order you show for the
findAllto return things in the order required by the second bitA more straight forward approach might be: