使用groovy问题创建XML
问题描述:
我想创建一个XML并将其保存在一个文件中。以下是代码的一部分使用groovy问题创建XML
def fileWriter = new FileWriter("c:/temp/test.xml")
def xml = new groovy.xml.MarkupBuilder(fileWriter).event {
event ("xmlns" : "http://www.hp.com/2009/software/opr/data_model") {
state("closed")
}
// fileWriter.close();
}
fileWriter.close();
这工作正常,并在c:\ temp \ Directory中创建一个XML文件。
这就是它的样子。
<event>
<event xmlns='http://www.hp.com/2009/software/opr/data_model'>
<state>closed</state>
</event>
</event>
,但我想要的只是
<event xmlns='http://www.hp.com/2009/software/opr/data_model'>
<state>closed</state>
</event>
如何我第一次也是最后避免XML输出?
答
摆脱额外event
:
import groovy.xml.MarkupBuilder
def fileWriter = new FileWriter("c:/temp/test.xml")
new MarkupBuilder(fileWriter).event("xmlns": "http://www.hp.com/2009/software/opr/data_model") {
state("closed")
}
fileWriter.close();
+0
谢谢。我工作了。我试图删除第一个错误的事件标签。 –
答
你打电话时的两倍,因此你得到两个事件代码。
调用一次,你只能得到一个。
Besidest,我会建议使用withWriter()
像
new File(/c:\temp\test.xml/).withWriter {
def xml = new groovy.xml.MarkupBuilder(it).event(xmlns: 'http://www.hp.com/2009/software/opr/data_model') {
state 'closed'
}
}
无需手动关闭编写即可。
请仔细阅读并遵守http://stackoverflow.com/help/someone-answers ;-) – Vampire