我有一个 xml 文件,它具有以下标头:<?xml version="1.1" encoding="UTF-8"?>
. 这也是强制性的,该文件是 1.1 版,因为其中包含一些字符,这些字符在 1.1 版中是不允许的。
我的任务是从文件中提取一些实体并将其再次保存为 xml 文件。如果我生成一个新的 xml 文件,它将是 1.0 版。由于新文件中存在一些编码错误,我认为问题是错误的 xml 版本。是否有可能在 1.1 版中生成 xml 文件(包括正确的标头)?
这是我当前代码的片段:
//read the file
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
...
}
//write the output file
SAXTransformerFactory fac = (SAXTransformerFactory)TransformerFactory.newInstance();
final TransformerHandler tfh = fac.newTransformerHandler();
Transformer transformer = tfh.getTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
我希望有人能帮助我。
最好的,迈克尔