代码如下所示:
XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
XMLEventWriter eventWriter = outputFactory
.createXMLEventWriter(new FileOutputStream("output.xml"));
XMLEventFactory eventFactory = XMLEventFactory.newInstance();
XMLEvent end = eventFactory.createDTD("\n");
XMLEvent tab = eventFactory.createDTD("\t");
StartDocument startDocument = eventFactory.createStartDocument(
"UTF-8", "1.0");
eventWriter.add(startDocument);
...
当我打开xml文件时,谷歌浏览器在第一个utf-8字符处显示“编码错误”,如果我查看xml代码,它看起来像:
?xml version="1.0"?
其中没有编码部分......
你有什么想法可能是什么问题吗?
答案 0 :(得分:3)
您需要在此处指定编码
.createXMLEventWriter(new FileOutputStream("output.xml"), "UTF-8");
否则它使用平台默认
答案 1 :(得分:0)
据我所知
XMLEvent end = eventFactory.createDTD("\n");
可能不是你的意思。 DTD是声明实体和标签的文本;非XML脚本中的XML。 尝试删除它们。