powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB, получение ошибок
3 сообщений из 3, страница 1 из 1
JAXB, получение ошибок
    #38399943
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Использую JAXB для проверки XML. Собственно сам XML мне ни к чему, интересует лишь его соответствие или несоответствие схеме. В процессе появляется n-ошибок, а вот в JAXBException попадает лишь одна. Вопрос, как получить все ошибки, которые набрал SAX-парсер?

Вот мой код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
// Генерация завершена, теперь надо проверить XML на верность
         // Генерация завершена, теперь надо проверить XML на верность
        try {

            Class factoryClass = FACTORIES.get(xsd);
            xsd = String.format("xml/%s.xsd", xsd);

            // Создание контекста
            final JAXBContext jaxbContext = JAXBContext.newInstance(factoryClass);
            final Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

            // XSD scheme
            // process any error
            unmarshaller.setEventHandler(new ValidationEventHandler() {
                @Override
                public boolean handleEvent(ValidationEvent event) {
                    final ValidationEventLocator locator = event.getLocator();
                    logger.debug(locator + event.getMessage());
                    return false;
                }
            });

            // Применение схемы
            URL url = CBFileParser.class.getResource(xsd);
            SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
            final Schema schema = schemaFactory.newSchema(url);
            unmarshaller.setSchema(schema);

            ByteArrayInputStream bs = new ByteArrayInputStream(st.toString().getBytes());
            unmarshaller.unmarshal(bs);

            // Все проблемные места пройдены. Контроль прошел положительно.
            data.setFkPassed(true);

        } catch (JAXBException | SAXException e) {
            // Вычисляем ошибку.
            getErrors(e.toString(), data, a);

            ...
        }
...
Рейтинг: 0 / 0
JAXB, получение ошибок
    #38399974
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на каком именно этапе вы видите, что было много ошибок?
...
Рейтинг: 0 / 0
JAXB, получение ошибок
    #38399987
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjv, например проверяю в IDE. XML порчу несколькими способами и получаю пачку ошибок.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB, получение ошибок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]