В настоящее время я занимаюсь разработкой программы чтения RSS-каналов, и мне интересно, какой API синтаксического анализа XML подойдет для этого лучше всего.(Обратите внимание, что я не ищу библиотеку синтаксического анализатора каналов - это просто отправная точка для этого исследования XML API)
Я ищу краткое изложение различных API синтаксического анализа XML на платформе Java,сосредоточив внимание на следующих критериях:
- Простота настройки
- Является ли конфигурация отдельным файлом?
- Существуют ли разумные значения по умолчанию?
- Удобство использования
- Навигация по узлу - для братьев и сестер, для детей, для родителя.
- Доступ / манипулирование пространствами имен, атрибутами, текстом.
- Является ли иерархия классов продуманной или естественной?
- Неверный XML - что происходит (когда он терпит неудачу?) и что я могу сделать, если:
- обнаружен недопустимый символ (запрещено в кодировке или в спецификации XML)
- структура дерева недопустима (например, из-за отсутствия экранированияHTML-теги)
Вот некоторая информация, которую я считаю полезной, но не крайне важной:
- Сравнение производительности
- Списокдоступных реализаций
В настоящее время я рассматриваю любой API-интерфейс XML на JVM.
- Это может быть стандарт Java (DOM, SAX, StAX, JAXP) илиAPI для конкретной реализации.
- Это может быть API для любого языка в JVM (Scala, Groovy, Jython, JRuby ...) - просто убедитесь, что он добавляет что-то по сравнению со стандартными API-интерфейсами Java.
Я считаю, что хорошим способом структурирования этого потока было бы иметь только одинAPI за ответ.