﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / Java  / Валидация xml файла с помощью Java / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 17 May 2008 12:15:25 GMT</lastBuildDate><ttl>20</ttl><item><title>Валидация xml файла с помощью Java</title><link>http://relib.com/forums/Topic917368-5-1.aspx</link><description>Привет всем! &lt;br&gt;Помогите, пожалуйста решить такие проблемы:&lt;br&gt;&lt;br&gt;1. Надо отвалидировать файл в соответствии со схемой и сохранить ВЕСЬ список ошибок.&lt;br&gt;код такой: &lt;br&gt;&lt;br&gt;public void schemaIsValid(String filePath, String schemaPath) throws ParserConfigurationException, IOException, SAXException {&lt;br&gt;&lt;br&gt;        boolean valid = true;&lt;br&gt;        DocumentBuilderFactory doc_factory = DocumentBuilderFactory.newInstance();&lt;br&gt;        doc_factory.setNamespaceAware(true);        &lt;br&gt;        DocumentBuilder parser = doc_factory.newDocumentBuilder();&lt;br&gt;        Document document = parser.parse(new File(filePath));&lt;br&gt;        SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);&lt;br&gt;        Source schemaFile = new StreamSource(new File(schemaPath));&lt;br&gt;        Schema schema = factory.newSchema(schemaFile);&lt;br&gt;        Validator validator = schema.newValidator();    &lt;br&gt;        validator.validate(new DOMSource(document));&lt;br&gt;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;public static Vector validateAll(String filePath, String schemaPath) {&lt;br&gt;        Vector bugs = new Vector();&lt;br&gt;        boolean pars_ex = true;&lt;br&gt;        boolean io_ex = false;&lt;br&gt;        boolean sax_ex = false;   &lt;br&gt;        &lt;br&gt;        try {&lt;br&gt;          schemaIsValid(filePath, schemaPath);          &lt;br&gt;        } catch (ParserConfigurationException e) {&lt;br&gt;            bugs.add(e.getMessage());&lt;br&gt;        }&lt;br&gt;        catch (IOException e) {&lt;br&gt;            bugs.add(e.getMessage());&lt;br&gt;        } catch (SAXException e) {&lt;br&gt;            bugs.add(e.getMessage());&lt;br&gt;        }&lt;br&gt;}&lt;br&gt;&lt;br&gt;Есть файл, в котором 2 ошибки на одну и туже строку, но в итоговый вектор пишется только одна ошибка. (видимо потому, что вылетает). Можно ли как-то поймать все ошибки?&lt;br&gt;&lt;br&gt;2. Можно ли как-то поймать строчку в файле, на котрой ошибка?&lt;br&gt;&lt;br&gt;Спасибо:)</description><pubDate>Wed, 19 Mar 2008 18:03:23 GMT</pubDate><dc:creator>Christy</dc:creator></item></channel></rss>