Groovy通过如下类来提供对XML的特殊处理:
| 技术 | 使用的原因和契机 | 必要条件 |
|---|---|---|
| XmlParser | 通过GPath来操作XML文档并且支持XML的更新/修改 | 无 |
| XmlSlurper | 因为采用延迟计算,所以比XmlParser轻量一点,但是仅支持读操作 | 无 |
| DOMCategory | 当你需要一些语法糖(syntactic sugar )的时候,为你提供基于树(tree-based )的底层操作 | 将你的代码放在use(DOMCategory)代码块内 |
如果你对XML处理有特殊的需求,那你可以从众多的Java APIs中选择来使用。每一个单独API的详细信息请参考相应的文档,以下示例只是为你提供快速入门的开始:
| 技术 | 使用的原因和契机 | 必要条件 |
|---|---|---|
| DOM | 基于树的底层操作 | 无 |
创建XML的最常见方式是使用Groovy的builder,比如:
| 技术 | 使用的原因和契机 | 必要条件 |
|---|---|---|
| MarkupBuilder | 使用Groovy的builder模式跟XML/HTML交互 | 无 |
| StreamingMarkupBuilder | 适合大文件操作 | 无 |
Groovy还支持一些低级别的助手类,通常这些类你并不会直接使用,但是有时候你会在比较早的Groovy XML的示例中看到。
| 技术 | 使用的原因和契机 | 必要条件 |
|---|---|---|
| SAXBuilder | SAX的支持类 | 无 |
| StreamingSAXBuilder | SAXBuilder的流处理版本 | 无 |
| DOMBuilder | DOM的支持类 | 无 |
| StreamingDOMBuilder | DOMBuilder的流处理版本 | 无 |