Мне нужно проанализировать некоторые сложные xml-файлы внутри моего приложения для Android. Есть ли хорошая библиотека для этого, например, TouchXMl для iPhone?
Android: лучшая библиотека для синтаксического анализа XML?
Ответы (4)
Или вы можете использовать org.xmlpull.v1.XmlPullParser — я обнаружил, что его намного проще использовать, чем SAX Parser, и у него есть другие преимущества:
http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html
http://www.bearcave.com/software/java/xml/xmlpull.html
Используйте Woodstox. Это анализатор вытягивания Stax, фактически поддерживающий весь XML (в отличие от xmlpull, который входит в комплект), эффективный, зрелый. Для большего удобства StaxMate также помогает, использует Woodstox (или любой другой парсер Stax) для синтаксического анализа, но предоставляет удобные курсоры и средства записи. ; но все же в 3-5 раз быстрее, чем подход DOM.
Упомянутый XmlPullParser в некоторой степени работает, но не может обрабатывать DTD (не только проверку, но даже базовые сущности символов), выдает загадочные сообщения об ошибках и не имеет стандартного интерфейса (SAX или Stax).
Не знаю критериев, по которым определяется "лучший". но вот недавняя исследовательская работа, в которой подробно анализируется существующая структура java xml...
http://recipp.ipp.pt/bitstream/10400.22/1847/1/ART_BrunoOliveira_2013.pdf