2

コードは次のようになります。

XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();

        XMLEventWriter eventWriter = outputFactory
                .createXMLEventWriter(new FileOutputStream("output.xml"));

        XMLEventFactory eventFactory = XMLEventFactory.newInstance();
        XMLEvent end = eventFactory.createDTD("\n");
        XMLEvent tab = eventFactory.createDTD("\t");

        StartDocument startDocument = eventFactory.createStartDocument(
                "UTF-8", "1.0");
        eventWriter.add(startDocument);
...

xml ファイルを開くと、Google Chrome は最初の utf-8 文字で「エンコード エラー」と表示します。xml コードを見ると、次のようになります。

?xml version="1.0"?

エンコーディング部分はありません...

何が問題なのか考えはありますか?

4

2 に答える 2

3

ここでエンコーディングを指定する必要があります

.createXMLEventWriter(new FileOutputStream("output.xml"), "UTF-8");

それ以外の場合は、プラットフォームのデフォルトを使用します

于 2013-01-18T15:18:59.783 に答える
0

私の理解では

XMLEvent end = eventFactory.createDTD("\n");

おそらくあなたが意図したものではありません。DTD は、エンティティとタグを宣言するテキストです。非 XML スクリプト内の XML。それらを削除してみてください。

于 2013-01-18T15:20:15.627 に答える