我有从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>
答案 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'