XML ファイルのコンテンツを別のファイルにコピーする、STAXを使用した小さなプログラムがあります。ところで、私はXMLStreamWriterに不可解な問題を発見しました。
多くの要素を書き込もうとすると、書き物がうまくいきます。しかし、いくつかの要素を書き込もうとすると、うまくいきません (ファイルが空です)。
たとえば、次のコードは機能します (3000 要素):
XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = outputFactory.createXMLStreamWriter(new FileOutputStream("toto.xml"));
writer.writeStartDocument();
for(int i = 0; i < 3000; ++i) {
writer.writeStartElement("toto");
writer.writeEndElement();
}
writer.writeEndDocument();
そして、このコードは機能しません (50 要素):
XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = outputFactory.createXMLStreamWriter(new FileOutputStream("toto.xml"));
writer.writeStartDocument();
for(int i = 0; i < 50; ++i) {
writer.writeStartElement("toto");
writer.writeEndElement();
}
writer.writeEndDocument();
何か考えはありますか?