19

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

2 回答 2

45

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

def xml = new MarkupBuilder(xmlObj)
xml.mkp.xmlDeclaration(version: "1.0", encoding: "utf-8")
xml.book("id":21){
    name('bookname')
}
于 2013-05-27T20:15:35.777 回答
12

你需要自己添加

def xml = new StreamingMarkupBuilder().bind{
        mkp.xmlDeclaration()
        task {
            id(_Id)
            name("clean")
        }
    }
于 2013-05-27T17:24:48.970 回答