Я хочу добавить данные в файл XML с помощью OutputStreamWriter, но в конечном итоге что-то вроде нижеДобавление данных в файл XML с помощью OutputStreamWriter (StAX анализатор)
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data1</tag1>
...
</msg>
</doc>
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data2</tag1>
...
</msg>
</doc>
Как я могу достичь правильный формат
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data1</tag1>
...
</msg>
<msg>
<tag1>data2</tag1>
...
</msg>
</doc>
Я попытался с ниже код
XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
File file = new File(outputFile);
Writer fw = null;
XMLStreamWriter w = null;
try {
if(!file.isFile()) {
file.createNewFile();
}
fw = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8");
w = outputFactory.createXMLStreamWriter(fw);
w.writeStartDocument("utf-8", "1.0");
w.writeStartElement("doc");
createMessageElement(fingerPrint, w, data);//method to write data
w.writeEndElement();
w.writeEndDocument();
w.flush();
w.close();
w.close();
fw.flush();
fw.close();
Пожалуйста, дайте мне предложение. Я новичок в StAX.
Рассматривали ли вы создание XML с использованием DOM? –