Мне приходится объективировать очень простые и маленькие XML-документы (менее 1k, и это почти SGML: нет пространств имен, простой UTF-8, вы его называете...), читаете из потока, на Java.
Я использую JAXP для обработки данных из моего потока в объект Document. Я пробовал Xerces, он слишком большой и медленный... Я использую Dom4j, но я все еще провожу слишком много времени в org.dom4j.io.SAXReader.
Есть ли у кого-нибудь предложения о более быстрой и эффективной реализации, имея в виду, что у меня очень жесткие ограничения на процессор и память?
[Редактировать 1] Имейте в виду, что мои документы очень маленькие, поэтому накладные расходы на просмотр парсера могут быть важны. Например, я трачу столько времени в org.xml.sax.helpers.XMLReaderFactory.createXMLReader, что и в org.dom4j.io.SAXReader.read
[Редактировать 2] Результат должен быть в формате Dom, поскольку я передаю документ инструментам принятия решений, которые выполняют произвольную обработку на нем, например, переключая код на основе значения произвольных XPaths, а также извлекая списки значений, упакованных как дети предопределенного node.
[Редактировать 3] В любом случае мне в конечном итоге нужно загрузить/разобрать полный документ, так как вся содержащаяся в нем информация будет использоваться в какой-то момент.
(Этот вопрос связан с, но отличается от Лучшим парсером XML для Java)