Какое решение для генерации XML является наилучшей производительностью.
Моя цель - построить несколько простых XML-файлов из кода. Я собираюсь реализовать простую реализацию XML Builder на основе StringBuffer. С другой стороны, есть несколько библиотек вроде http: //code.google.com/p/java-xmlbuilder/ и http://code.google.com/p/xmltool/ , в котором есть хороший DSL, но, как мне кажется, не хватает производительности.
Поскольку моя цель - построить достаточно простой XMLBuilder с высокой производительностью, я думаю, что создам индивидуальное решение. В нем будут представлены:
Пожалуйста предложите, если я ошибаюсь в ожиданиях производительности и, вероятно, лучше использовать готовые библиотеки.
ОБНОВЛЕНИЕ. Почему я считаю, что производительность стандартных построителей XML не очень хороша.
Стандартные построители XML используют Document Builder Factory и работают с классами за кулисами. Также эти классы оптимизированы для всех пользователей. Например, я не не нужна поддержка пространства имен и т. д.
value
Рассмотрим очень простой код XML выше. Если вы создаете со стандартными инструментами, потребуется много работы, чтобы просто создать этот простой XML. Я считаю, что лучше просто сгенерировать его самостоятельно с помощью String.
ОБНОВЛЕНИЕ 2 . Требование к производительности заключается в том, что код должен делать столько вещей, сколько требуется для генерации простого XML, и не более того.
ОБНОВЛЕНИЕ 3. Спасибо всем за отличные комментарии! Теперь я лучше понимаю, что мне нужно, и что моя первоначальная цель была поставлена не очень правильно словом «производительность». Моя истинная цель - использовать достаточно простое решение с удобным DSL для описания структуры XML и генерирования вывода XML.
Я буду использовать простые объекты Java как DSL для XML и сгенерировать XML с помощью библиотеки XStream, что является довольно простым решением.
] ОБНОВЛЕНИЕ 4. JAXB. Я обсуждал XStream и JAXB и обнаружил, что JAXB быстрее, чем XStream. Кроме того, я уже использую JAXB в своем проекте, и мне нравятся его стандартные аннотации. Я передумал и сейчас перейду на JAXB, потому что XStream изначально сильно разрабатывался в то время, когда JAXB был не так хорош, как сегодня.