Groovy XML MarkupBuilder 不创建根<?xml ...>



我正在使用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>

我怎么能使它生成根xml标签,以及?

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

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

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

你需要自己添加

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

最新更新