【发布时间】:2012-06-05 22:10:13
【问题描述】:
我有一个 xml 文件,其中包含以下标题:<?xml version="1.1" encoding="UTF-8"?>。这也是强制性的,该文件是 1.1 版本,因为包含一些字符,这些字符在 1.1 版本中是不允许的。
我的任务是从文件中提取一些实体并将其再次保存为 xml 文件。如果我生成一个新的 xml 文件,它将是 1.0 版。由于新文件中有一些编码错误,我认为问题是错误的 xml 版本。有没有可能在 1.1 版本中生成 xml 文件(包括正确的标头)?
这是我当前代码的 sn-p:
//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");
我希望有人可以帮助我。
最好, 迈克尔
【问题讨论】: