Java生产XML版本1.1

Mic*_*ael 4 java xml sax

我有一个具有以下标头的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");
Run Code Online (Sandbox Code Playgroud)

我希望有人能帮助我。

最好,迈克尔

Don*_*oby 5

您可能希望将版本指定为输出属性。

参见OutputKeys.VERSION