Groovy:编写xml文档会导致编码错误

时间:2013-09-10 13:58:01

标签: xml groovy

我正在尝试使用groovy更新超过72,000行的非常大的xml文档。我可以正确解析文件并编辑它,但是当我尝试在浏览器中打开它时输出已损坏(输入文件可以在浏览器中查看)。

  

此页面包含以下错误:

     第4行第1401行的

错误:编码错误下面是渲染   页面直到第一个错误。

这是第1401行:

<ENTRY MODIFIED_DATE="2013/9/9" MODIFIED_TIME="59764" AUDIO_ID="a very long string" 
TITLE="Sea Lo Que Sea Será (Original Mix)" ARTIST="Above And Beyond Feat. Miguel Bosé">

当我去那条线时,一切都显得正常,所以我猜这个问题就在文件的其他地方。

这就是我编写输出xml文件的方式:

new File("C:/workspacGROOVY/org.something.groovy/collection_out.xml").withWriter { out ->
    out << new StreamingMarkupBuilder().bind { mkp.xmlDeclaration() }
    new XmlNodePrinter(new PrintWriter(out)).print(xml)
}

免责声明:这是我在groovy中写的第一件事。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试将UTF-8指定为编码:

new File("C:/workspacGROOVY/org.something.groovy/collection_out.xml").withWriter('UTF-8') { out ->
    out << new StreamingMarkupBuilder().bind { mkp.xmlDeclaration() }
    new XmlNodePrinter(new PrintWriter(out)).print(xml)
}

请参阅this post以获取更小的示例。