Heim >Java >javaLernprogramm >Wie kann ich XML-Dateien mithilfe von Java anhand einer XSD-Datei validieren?

Wie kann ich XML-Dateien mithilfe von Java anhand einer XSD-Datei validieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-10 04:52:14596Durchsuche

How Can I Validate XML Files Against an XSD File Using Java?

XML-Dateien anhand einer XSD-Datei validieren

Die Überprüfung der Konformität generierter XML-Dateien anhand einer bereitgestellten XSD-Datei ist von größter Bedeutung, um die Einhaltung der angegebenen Datenstruktur sicherzustellen.

Lösung: Validierung der Java-Laufzeitbibliothek

Die Java-Laufzeitbibliothek bietet robuste Validierungsfunktionen durch javax.xml.validation.Validator-Klasse. Hier ist ein Beispielcode-Snippet als Orientierung:

...
URL schemaFile = new URL("http://host:port/filename.xsd");
Source xmlFile = new StreamSource(new File("web.xml"));
SchemaFactory schemaFactory = SchemaFactory
    .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
try {
  Schema schema = schemaFactory.newSchema(schemaFile);
  Validator validator = schema.newValidator();
  validator.validate(xmlFile);
  System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
  System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
} catch (IOException e) {}

In diesem Snippet:

  • schemaFile stellt die XSD-Datei dar, anhand derer validiert werden soll.
  • xmlFile ist das XML zu validierende Datei.
  • schemaFactory erstellt eine Schema-Instanz aus der schemaFile.
  • Validator wird aus dem Schema erstellt.
  • Die Validate-Methode prüft die XML-Datei anhand der XSD.

Hinweis: Vermeiden Sie die Verwendung des DOMParser zur Validierung verbraucht unnötig Speicher.

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Dateien mithilfe von Java anhand einer XSD-Datei validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn