Я использую java 6 и обрабатываю некоторые XML-документы, которые довольно большие ... Мне нужно разобрать их и изменить некоторые значения, а затем сериализовать обратно на диск.Какой самый быстрый способ десериализации и сериализации XML-документа?
Я использовал org.w3c.DOM для десериализации документов xml и изменения некоторых значений атрибутов, и я использовал JAXP Transformer для сериализации документа dom, который был изменен. Но я обнаружил, что это очень медленно ...
Так что мне интересно, есть ли более эффективный способ сериализации документа dom или обрабатывать большие XML-документы?
ОБНОВЛЕНИЕ:
Я использовал таймер для записи, сколько времени требуется для каждой части, ниже для сериализации:
// serialize the updated DOM
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
long t0 = timer.currentTimeMillis();
DOMSource source = new DOMSource(dom);
StreamResult result = new StreamResult(doc);
transformer.transform(source, result);
long t1 = timer.currentTimeMillis();
Reporter.log("Finished serializing " + doc.getAbsolutePath() + " in " + (((t1 - t0))/1000.0f) + " s.", true);
И журнал показывает:
....
Finished serializing C:\Usrs\Adminstrator\Documents\Docs\InitialDocument_1.xml in 53 s.
Насколько велика "большая"? 10K? 100K? Несколько гигабайт? –