Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / проверка валидности xml / 2 сообщений из 2, страница 1 из 1
14.03.2013, 09:48:25
    #38183263
Nymph666
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка валидности xml
Всем доброго времени!
В общем-то все просто:
есть xml файл, который затем обрабатывается с помощью JAXB.
Но перед тем как его обработать необходимо проверить его на валидность.
Насколько я поняла, нужно его сравнить со схемой xsd.
Вопрос: как это сделать?
Есть ли встроенные средства в JAXB или может быть это можно сделать как-то еще?
Заранее спасибо.
...
Рейтинг: 0 / 0
14.03.2013, 11:16:08
    #38183427
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проверка валидности xml
Встроенное средство есть. XSD необходимо загрузить в объект Schema и подключить к анмаршалеру, после этого можно грузить xml.
Дополнительно можно обработать ошибки используя какой-нибудь ValidationEventHandler, например, ValidationEventCollector:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
	    SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
	    URL url = getClass().getResource("schema.xsd");
	    Schema s = sf.newSchema(url);
	    unmarshaller.setSchema(s);
	    
	    ValidationEventCollector collector = new ValidationEventCollector();
	    unmarshaller.setEventHandler(collector);

	    try {
	    	Object result = unmarshaller.unmarshal(inputStream);
	    	return result;
	    } catch (JAXBException e) {
	    	collector.getEvents() - тут ошибки
	    }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / проверка валидности xml / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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