Валидация xml файла с помощью Java
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Валидация xml файла с помощью Java Expand / Collapse
Автор
Сообщение
19.03.2008 18:03
Junior Member

Junior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior MemberJunior Member

участник
Last Login: 20.03.2008 9:23
Сообщ.: 23, Visits: 176
Привет всем!
Помогите, пожалуйста решить такие проблемы:

1. Надо отвалидировать файл в соответствии со схемой и сохранить ВЕСЬ список ошибок.
код такой:

public void schemaIsValid(String filePath, String schemaPath) throws ParserConfigurationException, IOException, SAXException {

boolean valid = true;
DocumentBuilderFactory doc_factory = DocumentBuilderFactory.newInstance();
doc_factory.setNamespaceAware(true);
DocumentBuilder parser = doc_factory.newDocumentBuilder();
Document document = parser.parse(new File(filePath));
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new File(schemaPath));
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(new DOMSource(document));

}

public static Vector validateAll(String filePath, String schemaPath) {
Vector bugs = new Vector();
boolean pars_ex = true;
boolean io_ex = false;
boolean sax_ex = false;

try {
schemaIsValid(filePath, schemaPath);
} catch (ParserConfigurationException e) {
bugs.add(e.getMessage());
}
catch (IOException e) {
bugs.add(e.getMessage());
} catch (SAXException e) {
bugs.add(e.getMessage());
}
}

Есть файл, в котором 2 ошибки на одну и туже строку, но в итоговый вектор пишется только одна ошибка. (видимо потому, что вылетает). Можно ли как-то поймать все ошибки?

2. Можно ли как-то поймать строчку в файле, на котрой ошибка?

Спасибо:)
Сообщ. #917368
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, mishgun, pl

Время GMT +3:00, Сейчас 5:30