实战 Groovy: 构建和解析 XML
2009-11-18 00:00:00 来源:WEB开发网比较清单 2 中的 Java 代码和清单 3 中相应的 Groovy 代码:
清单 3. 在 Groovy 中解析 XMLdef langs = new XmlParser().parse("languages.xml")
println "type = ${langs.attribute("type")}"
langs.language.each{
println it.text()
}
//output:
type = current
Java
Groovy
JavaScript
Groovy 代码最出色的地方并不是它要比相应的 Java 代码简短很多 — 虽然使用 5 行 Groovy 代码解析 5 行 XML 是一个压倒性的优势。Groovy 代码最让我欣喜的一个地方就是它更具表达性。在编写 langs.language.each 时,我的感觉就像是在直接操作 XML。在 Java 版本中,您再也看不到 XML。
字符串变量和 XML
当您将 XML 存储在 String 变量而不是文件中时,在 Groovy 中使用 XML 的好处会变得更加明显。Groovy 的三重引号(在其他语言中通常称作 HereDoc)使得在内部存储 XML 变得非常轻松,如清单 4 所示。这与清单 3 中的 Groovy 示例之间的惟一区别就是将 XmlParser 方法调用从 parse()(它处理 File、InputStreams、Reader 和 URI)切换到 parseText()。
清单 4. 将 XML 存储在 Groovy 内部def xml = """
<langs type="current">
<language>Java</language>
<language>Groovy</language>
<language>JavaScript</language>
</langs>
"""
def langs = new XmlParser().parseText(xml)
println "type = ${langs.attribute("type")}"
langs.language.each{
println it.text()
}
- ››构建Windows 8风格应用23-App Bar概述及使用规范
- ››Groovy轻松入门
- ››构建域名服务器(DNS)
- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››构建Android平台Google Map应用
- ››构建WinForm 通用速选(全选、反选、清空)组件
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››构建Wordpress网站首选的5家国外主机
- ››实战经验:巧用微博推广淘宝网店
更多精彩
赞助商链接