hy!
hat jemand schon von euch eine XML Datei mit XercesJ geparst und dabei gegen ein eigenes Schema validiert?
Bei mir funktioniert es wenn ich XercesJ händisch von der Kommandozeile aufrufe, doch wenn ich es im Programm verwende geht es nicht.
XML Schema - Validation mit Java
-
-
Ich hab es zwar auch einfach manuell und nie in einem Programm verwendet aber wenn du das Codestück postest könnte ich vielleicht helfen.
-
Code
Alles anzeigentry { SAXParserFactory parserFactory = SAXParserFactory.newInstance(); parserFactory.setNamespaceAware(false); parserFactory.setValidating(true); SAXParser parser = parserFactory.newSAXParser(); parser.parse(file.toString(), new DefaultHandler()); } catch (ParserConfigurationException ex) { ex.printStackTrace(); } catch (SAXException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); }
-
Ich lasse so validieren:
CodeXMLReader reader=XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser"); InputSource in = new InputSource(new FileInputStream(new File("a.xml"))); reader.setContentHandler(aContentHandler); [b] reader.setFeature("http://xml.org/sax/features/validation", true);[/b] reader.parse(in);
-
wenn ich den DefaultHandler als Contenthandler nehm, bekomm ich folgende Fehlermeldungen:
[Error] :2:9: Document is invalid: no grammar found.
[Error] :2:9: Document root element "figures", must match DOCTYPE root "null".
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!