我正在尝试编写一个XML库文件,以便可以再次读入我的程序。
以下是文件写入器代码:
最后一行返回了错误。
以下是文件写入器代码:
XMLBuilder builder = new XMLBuilder();
Document doc = builder.build(bookList);
DOMImplementation impl = doc.getImplementation();
DOMImplementationLS implLS = (DOMImplementationLS) impl.getFeature("LS", "3.0");
LSSerializer ser = implLS.createLSSerializer();
String out = ser.writeToString(doc);
//System.out.println(out);
try{
FileWriter fstream = new FileWriter(location);
BufferedWriter outwrite = new BufferedWriter(fstream);
outwrite.write(out);
outwrite.close();
}catch (Exception e){
}
上述代码确实编写了一个XML文档。
然而,在XML头中,文件被编码为UTF-16的属性。
当我读取文件时,会出现错误:
"内容不允许在 prolog 中"
当编码属性手动更改为UTF-8时,此错误不会发生。
我正在尝试让上述代码编写一个以UTF-8编码的XML文档,或成功解析UTF-16文件。
解析的代码如下:
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
DocumentBuilder loader = factory.newDocumentBuilder();
Document document = loader.parse(filename);
最后一行返回了错误。