Groovy XML MarkupBuilder不会创建root <! - ?xml ....? - >

时间:2013-05-27 17:08:02

标签: xml grails groovy

我正在使用XML MarkupBuilder生成XML文件

import groovy.xml.StreamingMarkupBuilder
import groovy.xml.MarkupBuilder
import org.custommonkey.xmlunit.*

....

def xmlObj = new StringWriter()
def xml = new MarkupBuilder(xmlObj)
xml.book("id":21){
    name('bookname')
}

我得到了输出:

<book id='21'>
    <name>bookname</name>
</book>

如何让它也生成root xml标签?

<?xml version="1.0" encoding="utf-8"?>

2 个答案:

答案 0 :(得分:42)

您也可以使用MarkupBuilder添加xml声明:

def xml = new MarkupBuilder(xmlObj)
xml.mkp.xmlDeclaration(version: "1.0", encoding: "utf-8")
xml.book("id":21){
    name('bookname')
}

答案 1 :(得分:11)

您需要添加yourlsef

def xml = new StreamingMarkupBuilder().bind{
        mkp.xmlDeclaration()
        task {
            id(_Id)
            name("clean")
        }
    }