从gradle读取字符串数组

时间:2016-07-07 08:04:06

标签: android gradle groovy

我有从xml文件中读取字符串的函数,例如:

<string name="language">en</string>

在gradle中:

readConfiguration('language')

//////

def readConfiguration(data) {
   def stringsFile = android.sourceSets.main.res.sourceFiles.find {    
      it.name.equals 'configuration.xml' 
   }
   return new XmlParser().parse(stringsFile).string.find { 
      it.@name.equals data }.text()
   }
}

但我怎样才能读取字符串数组:

<string-array name="languages">
    <item>en</item>
     <item>es</item>
</string-array>

1 个答案:

答案 0 :(得分:1)

尝试:

return new XmlParser().parse(stringsFile).'string-array'.find { it.@name.equals data }.text()

它正常工作:

def input = '''
<root>
    <string-array name="languages">
        <item>en</item>    
        <item>es</item>
    </string-array>
</root>
'''

def xml = new XmlParser().parseText(input)
assert xml.'string-array'.find { it.@name.equals('languages') }.text() == 'enes'