G
Guest
Gast
Hallo zusammen,
ich hab folgende Methode geschrieben.
funktionieren tut die, aber ich möchte gerne die Tags aus der xml Datei ausgeben lassen, an welcher Stelle der Fehler aufgetretten ist. Jedoch hab ich keine Ahnung wie. Und wenn nicht den Tag, dann wenigstens die Zeile.
Die Zeile hab ich mit:
versucht, jedoch kommt da immer nur -1 raus.
Kann mir da jemand helfen??
ich hab folgende Methode geschrieben.
Code:
public static void Validierung(String xml, String xsd) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File(xmlpfad + schemaTyp + "\\" + xml));
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(new File(xsd));
Validator validator = schema.newValidator();
validator.validate(new DOMSource(doc));
System.out.println(xml + " ist valide.");
} catch (SAXParseException spe) {
System.out.println(xml + " ist nicht valide." + "\r\n Message: " + spe.getMessage());
} catch (SAXException sxe) {
Exception x = sxe;
if (sxe.getException() != null)
x = sxe.getException();
throw new Exception("Error during parsing.", x);
} catch (ParserConfigurationException pce) {
throw new Exception("Parser with specified options can't be built.", pce);
} catch (IOException ioe) {
throw new Exception("Error reading file.", ioe);
}
}
funktionieren tut die, aber ich möchte gerne die Tags aus der xml Datei ausgeben lassen, an welcher Stelle der Fehler aufgetretten ist. Jedoch hab ich keine Ahnung wie. Und wenn nicht den Tag, dann wenigstens die Zeile.
Die Zeile hab ich mit:
Code:
System.out.println(spe.getLineNumber());
Kann mir da jemand helfen??