Мне нужно разобрать кусок xml, который я получаю без корневого элемента, разделение пространства имен и объявление сущности, несмотря на включение всех трех.
До сих пор я использовал Dom4j
и делал некоторую обертку вокруг контента, но новые темы и пространства имен сохраняются, и DTD/Schema
контента недоступен.Ошибка толерантного анализатора java xml
Учитывая, что я не контролирую источник, из которого я получаю XML, Есть ли какой-либо вид java XML parser
, который будет терпеть эти ошибки?
Наедине корневого элемента
несвязанные пространств имен
Необъявленные лица
Правильное решение вашей проблемы будет обратиться к этому источнику и попросить их, чтобы соответствовать стандартам. Независимо от того, что они дают вам, это не XML. Если TagSoup выйдет из строя, вы можете написать собственный парсер. Проверьте [ANTLR4] (http://www.antlr.org/wiki/display/ANTLR4/Home) генератор парсера. Это [справочник] (http://pragprog.com/book/tpantlr2/the-definitive-antlr-4-reference) содержит примеры синтаксического анализа XML. – predi
XML не требует объявления пространства имен. – Raedwald
Но данные xml, которыми я управляю, используют пространства имен – Chedy2149