即使問題主題看起來很複雜,問題也很簡單。如何使用Groovy構建器以UTF-8格式轉換XML文件StreamingMarkupBuilder
我創建具有以下腳本的XML文件:
def xmlFile = new File("file-${System.currentTimeMillis()}.xml")
mb = new groovy.xml.StreamingMarkupBuilder()
mb.encoding = "UTF-8"
new FileWriter(xmlFile) << mb.bind {
mkp.xmlDeclaration()
out << "\n"
someMarkup {}
}
後來,當我使用類似的代碼分析這個文件:
def xml = new XmlSlurper().parse(xmlFile)
我得到了以下MalformedByteSequenceException
例外:
拋出的異常:無效的字節2 3字節的UTF-8序列
如果我將文件轉換爲UTF-8格式(例如使用Notepad ++),那麼一切正常。
那麼,我能做些什麼來保存UTF-8格式的文件呢?爲什麼代碼mb.encoding = "UTF-8"
不這樣做?
THX
您可以參考此博客。 http://mrhaki.blogspot.com/2009/10/groovy-goodness-creating-xml-with.html它應該幫助 – 2009-10-07 04:20:33