'read xml name value pair not work with grovvy

I have a xml content text file:

<resources>
  <string name='abc'>3.0</string>
  <string name='def'>4.0</string>
  <string name='ghi'>5.0</string>
  <string name='jkl'>2.0</string>
  <string name='mno'>1.0</string>
  <string name='pqr'>2.0</string>
  <string name='stu'>5.0</string>
  <string name='vwx'>2.0</string>
</resources>

I would like to read out the name value pair with below code:

def loadVersions(verFile) {

    def parsedXml = new XmlParser().parse(verFile)
    def versions = [:]
    parsedXml.each{ prop ->
        println(prop)
        println(prop.@name + " => " + prop.@value)
        versions.put(prop.@name, prop.@value)
    }
    print(versions)
    return versions
}

The name read out properly but value is null:

string[attributes={name=abc}; value=[3.0]]
abc => null
string[attributes={name=def}; value=[4.0]]
def => null
string[attributes={name=ghi}; value=[5.0]]
ghi => null
string[attributes={name=jkl}; value=[2.0]]
jkl => null
string[attributes={name=mno}; value=[1.0]]
mno => null
string[attributes={name=pqr}; value=[2.0]]
pqr => null
string[attributes={name=stu}; value=[5.0]]
stu => null
string[attributes={name=vwx}; value=[2.0]]
vwx => null


Solution 1:[1]

use text()

        println(prop.@name + " => " + prop.text())
        versions.put(prop.@name, prop.text())

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 PrasadU