是否你用java进行过大量的XML处理工作,如果选择W3C DOM 使工作会变得更容易一些,但是java本身不在语言层面对你提供任何帮助——它不能适应你的需要。
Groovy允许类在编译时没有的属性在运行时起作用。GPath就是建立在这个特性之上的,并且允许像Xpath那样来浏览XML文档。
假定你有一个名称为“customers.xml”的文件,内容像这样:[code]<?xml version="1.0"?>
<corporate>
<customer
name="Bill Gates"
company="Microsoft" />
<customer
name="Steve Jobs"
company="Apple" />
<customer
name="Jonathan Schwartz"
company="Sun" />
</corporate>
<consumer>
<customer name="John Doe" />
<customer name="Jane Doe" />
</consumer>
[/code]你能使用下面的代码输出所有的“corporate”客户的名称和公司(从一开始使用groovy的Builder生成xml文件也是比java容易许多)。def customers = new XmlSlurper().parse(new File('customers.xml'))
for (customer in customers.corporate.customer) {
println "${[email protected]} works for ${[email protected]}"
}
这里仅仅证实了groovy的少数特性,你已经在前面的例子中看到了groovy别的特性——使用GString对String进行功能增强,简化了的for循环处理,可选的类型声明,可选的语句结束符(在java中为分号),这些仅仅是个开始,这些特性彼此之间工作的十分融洽,以至于你很难注意到你正在使用他们。
尽管比java友好和功能增强是groovy的主要目标,但也考虑到许多有价值的方面,迄今为止,我们已经注意到groovy的许多技术手段,但是一个语言需要更成功,吸引大量的人,在计算机语言世界,更多更好的特性不保证会让你有大量的用户,必须对开发人员和管理人员两个方面都具有吸引力才行。