需求
修改某个xml文件,方便生成不同属性的包
XmlParser
xmlparser是goovy自带的一种xml解析工具类,就像java的pull解析
XmlParser使用
-
创建XmlParser对象:
def xmlparser = new XmlParser()
-
解析xml
- 文件:
xmlparser.parse(xmlfile.xml)
- 字符串:
xmlparser.parseText('<xml></xml>')
- 文件:
-
读取属性:使用
groovy.util.Node.attribute('attribute')
-
获取元素:
groovy.util.Node.attribute('attribute').each { println it.text() }
修改Xml文件
groovy.util.Node.attribute('attribute').each {
// 修改属性
it.attributeName = newAttributeName
// 修改元素
it.value = newValue
}
示例代码
-
xml文件
<resources> <string name="request_url"/> <string name="img_url"/> </resources>
-
gradle文件
def xmlFile = 'app/src/main/res/values/url.xml' def xml = new XmlParser().parse(xmlFile) xml.string.request_url.each { it.value = '123'// 修改元素值 } xml.string[0].each { it.img_url = '123'// 修改属性值 } println xml new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).print(xml)
总结
其实gradle的修改文件是goovy的修改文件,还是得了解一下goovy