0

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

此页面包含以下错误:

第 5 列第 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 写的第一件事。

谢谢你的帮助。

4

1 回答 1

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)
}

有关较小的示例,请参见这篇文章

于 2013-09-10T14:29:28.477 回答