Unmi 学习 Groovy 之 GroovyMarkup (二)

在前一篇 Unmi 学习 Groovy 之 GroovyMarkup (一) 引入了 GroovyMarkup 及介绍了其中的一个 Builder(MarkupBuilder) 的用法。本篇继续。

groovy.util.NodeBuilder,用来创建一般任意对象的树状结构。看到了,它不在 groovy.xml 包之下,但它是一个 Builder,所以秉承了 Builder 的语法规则,而且还可用路径(对象导航)的方式来访问这个 Builder 实例中的节点或属性值。还是来看例子:

import groovy.util.NodeBuilder;

someBuilder = new NodeBuilder();            //只有这么一个构建方法

root = someBuilder.users([balance:100]){    //这一块的语法完全同 MarkupBuilder
	user([gender:"male"],"Unmi");
	user("Joe"){
		order(item:"Book");
	}
}

println root;                     //因为 NodeBuilder 不预示着输出,所以需要显示的 println

看看上面程序的输出: 阅读全文 >>

类别: Groovy. 标签: , . 阅读(84). 评论(0) »

Unmi 学习 Groovy 之 GroovyMarkup (一)

每一种语言都不能忽略了 XML 操作相关的 API,而 Groovy 把使用 XML 的美妙和简易性推向了极致,这就是 GroovyMarkup。它不仅简化了 SAX、DOM 操作,并且把这一理念引入到了 Swing、Swt 界面绘制领域中,Ant、Maven 构建脚本生成中;甚至铺散到更广阔的领域。

Groovy 用闭包和命名参数给标记数据的操作创建通用的语法。GroovyMarkup 在实际的应用中表现为各种 Builder。例如在 Groovy 中内建了以下几个 Builder。

·groovy.xml.MarkupBuilder  --  将你的对象序列化成 XML 或 XHTML
·groovy.xml.SAXBuilder       --  可以用于现有的 SAX 处理器
·groovy.xml.DOMBuilder     --  创建并解析 DOM 文档

而且 GroovyMarkup 语法已经被公认为对操作特定于领域的对象结构很有价值,例如 Ant 文件和 Swing 用户界面。 阅读全文 >>

类别: Groovy. 标签: , . 阅读(92). 评论(0) »