我正在编写一个使用MarkupBuilder生成XML文档的脚本,我想在从文件中读取的树中插入XML文件。我怎么做?下面是一个例子。
def writer = new StringWriter()
def builder = new MarkupBuilder(writer)
builder.root() {
new XmlSlurper().parse(new File("file.xml"))
}
我尝试了mkp.yield和mkp.yieldUnescaped,但两者都会导致输出中出现转义文本。 Groovy邮件列表上的帖子似乎表明这可以通过StreamingMarkupBuilder实现,但目前尚不清楚MarkupBuilder是否存在解决方案。
答案 0 :(得分:8)
请参阅@Tim关于将节点附加到现有树的答案: How to append a row in a xml using groovy
未经测试,但这应该是转义输出:
def(xml,build,output)
xml = new XmlSlurper().parseText( new File("file.xml").getText() )
build = new StreamingMarkupBuilder()
output = build.bind{ mkp.yieldUnescaped xml }