4

次のヘッダーを持つ 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");

誰かが私を助けてくれることを願っています。

ベスト、マイケル

4

1 に答える 1

5

おそらく、バージョンを出力プロパティとして指定する必要があります。

OutputKeys.VERSIONを参照してください。

于 2012-06-05T22:24:12.080 に答える