如何从Groovy Markupbuilder获取字节
我需要从groovy.xml.MarkupBuilder对象创建一个新的ByteArrayInputStream。我需要将字节传递给inputstream构造函数,但我不知道如何访问它们。JDom是这样做的:如何从Groovy Markupbuilder获取字节,groovy,inputstream,Groovy,Inputstream,我需要从groovy.xml.MarkupBuilder对象创建一个新的ByteArrayInputStream。我需要将字节传递给inputstream构造函数,但我不知道如何访问它们。JDom是这样做的: SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(someInputstream); ... XMLOutputter outputter = new XMLOutputter(); someInputS
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(someInputstream);
...
XMLOutputter outputter = new XMLOutputter();
someInputStream = new ByteArrayInputStream(outputter.outputString(doc).getBytes("UTF-8"));
但是我找不到一种使用MarkupBuilder做类似事情的方法。你可以做这样的事情:
InputStream ins = new StringWriter().with { sw ->
new MarkupBuilder( sw ).build {
node {
woo( 'yay' )
}
}
new ByteArrayInputStream( sw.toString().getBytes( 'UTF-8' ) )
}
我们应该如何添加xml声明