SAXParser не анализирует XML с 8001 символами - PullRequest
0 голосов
/ 15 октября 2018

У меня есть строка XML с 8001 символом, которую я хочу проанализировать с помощью SAXParser, но я получаю исключение ниже.Если я удаляю или добавляю только один символ в xml, все работает отлично.Xml загружается из поля clob в oracle DB.

Исключение: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 39; Content ist nicht zulässig in Prolog.

Может кто-нибудь объяснить мне, почему это происходит?

public static boolean isWellformed(final String xml) {
        if (xml == null) {
            return false;
        }

        SAXParser saxParser;
        DefaultHandler dh;
        try {
            final SAXParserFactory spfactory = SAXParserFactory.newInstance();
            saxParser = spfactory.newSAXParser();
            dh = new DefaultHandler();
        } catch (final Exception ex) {
            log.error("Cannot initialize SAX parser.", ex);
            return false;
        }

        ByteArrayInputStream bin = null;

        try {
            bin = new ByteArrayInputStream(xml.getBytes("UTF-8"));
            saxParser.parse(bin, dh);
        } catch (final SAXException se) {
            return false;
        } catch (final IOException ex) {
            return false;
        } finally {
            IOUtils.close(bin);
        }
        return true;
    }

Создан XMLи используется CKEditor.Пример XML:

<?xml version="1.0" encoding="UTF-8"?><segment><chapter level="2" align=" center">Decisions</chapter><text>Text text  text .....</text></segment>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...