Вы должны применить к вашему случаю общие понятия из теории синтаксического анализа .
Объяснение сложности основных методов синтаксического анализа доступно в этой статье .
Что касается Java, здесь - это сравнение парсера XML в Java от Sun, Oracle и Apache.
Чтение из реферата статьи:
Мир парсера XML - это динамичный мир.
Как меняются стандарты, парсеры
также изменить - парсеры XML
становится все более изощренным. Для большинства
программирование проектов, парсер, при
минимум, должен поддерживать DOM Level 2, SAX
2, XSLT и пространства имен. Все
парсеры, обсуждаемые здесь, предоставляют эти
возможности; Однако есть
явные различия в производительности,
надежность и соответствие
стандарты. В этой статье я
сравните последние парсеры от Sun,
Oracle и программное обеспечение Apache
Фонд.
Остальная часть анализа доступна здесь .