Heim >Java >javaLernprogramm >Wie kann ich XML-Dateien anhand von XSD-Schemas in Java validieren?

Wie kann ich XML-Dateien anhand von XSD-Schemas in Java validieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 13:17:10732Durchsuche

How Can I Validate XML Files Against XSD Schemas in Java?

XML-Dateien anhand von XSD-Schemas validieren

Um die Gültigkeit von XML-Dateien sicherzustellen, die anhand eines bestimmten XSD-Schemas generiert wurden, ist eine Überprüfung erforderlich . Die Java-Laufzeitbibliothek bietet Unterstützung für diese Validierung.

Verwendung von javax.xml.validation.Validator

Die Klasse javax.xml.validation.Validator bietet einen praktischen Mechanismus für Validierung von XML-Dokumenten anhand von XSD-Schemas. Hier ist ein Beispiel für die Verwendung:

import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.net.URL;

// Instantiate the schema factory
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

// Load the XSD schema from a URL
URL schemaFile = new URL("http://host:port/filename.xsd");
Schema schema = schemaFactory.newSchema(schemaFile);

// Load the XML file to be validated
Source xmlFile = new StreamSource(new File("web.xml"));

// Create a new validator
Validator validator = schema.newValidator();

try {
  // Validate the XML document
  validator.validate(xmlFile);
  System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
  System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
}

Hinweis: Die Konstante XMLConstants.W3C_XML_SCHEMA_NS_URI definiert XSD-Schemas. Im obigen Beispiel wird die XML-Datei web.xml anhand der Schema-URL http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd validiert. Sie können die URL der Schemadatei ändern, um sie an Ihr spezifisches Szenario anzupassen.

DOMParser zur Validierung vermeiden

Es ist wichtig, den DOMParser nicht allein zur Validierung zu verwenden. Der DOMParser erstellt beim Parsen des Dokuments DOM-Objekte, was verschwenderisch sein kann, wenn Sie diese Objekte nicht verwenden möchten. Verwenden Sie stattdessen die Validator-Klasse, um die Validierung effizient durchzuführen.

Das obige ist der detaillierte Inhalt vonWie kann ich XML-Dateien anhand von XSD-Schemas in Java 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