目录
摘要
MarkupBuilder,StreamingMarkupBuilder,XmlParser,XmlSlurper,JsonBuilder
Xml 及 Json 的处理
Xml 的处理
创建 Xml
MarkupBuilder
def sw = new StringWriter()
def xml = new MarkupBuilder(sw)
xml.langs(type: "current") {
language("Java")
language("Groovy")
language("JavaScript")
}
生成结果
<langs type='current'>
<language>Java</language>
<language>Groovy</language>
<language>JavaScript</language>
</langs>
StreamingMarkupBuilder
比 MarkupBuilder 更强大,支持 CDATA,命名空间等的创建
并且只有当 bind() 被调用时,xml 才会被创建,所以可以先在多个线程中构建 xml 的结构。
def comment = "<![CDATA[<!-- address is new to this release -->]]>"
builder = new StreamingMarkupBuilder()
builder.encoding = "UTF-8"
def person = {
mkp.xmlDeclaration()
mkp.pi("xml-stylesheet": "type='text/xsl' href='myfile.xslt'")
mkp.declareNamespace('': 'http://myDefaultNamespace')
mkp.declareNamespac