Heim > Java > javaLernprogramm > Wie validiere ich XML anhand einer XSD in Java?

Wie validiere ich XML anhand einer XSD in Java?

Susan Sarandon
Freigeben: 2024-12-10 19:54:15
Original
546 Leute haben es durchsucht

How to Validate XML Against an XSD in Java?

Validierung von XML gegen XSD: Ein vollständiger Leitfaden

Die Validierung von XML-Dokumenten gegen eine XSD-Datei (XML Schema Definition) ist entscheidend, um die Datenintegrität und die Konformität mit festgelegten Standards sicherzustellen. Dieses Tutorial befasst sich mit den Funktionen der Java-Laufzeitbibliothek für die XML-Validierung und stellt ein konkretes Beispiel für die Verwendung der Klasse javax.xml.validation.Validator bereit.

Verwendung der javax.xml.validation-API

Die Die Java-Laufzeitbibliothek bietet robuste XML-Validierungsfunktionen über die javax.xml.validation-API. Die javax.xml.validation.Validator-Klasse bildet den Grundstein dieser API und ermöglicht Entwicklern die Validierung von XML-Dokumenten anhand eines bestimmten Schemas.

Beispielcode für die Validierung

Der folgende Codeausschnitt zeigt, wie das geht Validieren Sie eine XML-Datei anhand einer XSD Schema:

import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.*;
import java.net.URL;
import org.xml.sax.SAXException;
//import java.io.File; // if you use File
import java.io.IOException;

...

// Define the XSD schema URL
URL schemaFile = new URL("http://host:port/filename.xsd");

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

// Create a SchemaFactory instance
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

try {
  // Create a Schema object from the XSD schema
  Schema schema = schemaFactory.newSchema(schemaFile);

  // Create a Validator object from the Schema object
  Validator validator = schema.newValidator();

  // Validate the XML file against the schema
  validator.validate(xmlFile);

  // Print a success message if validation is successful
  System.out.println(xmlFile.getSystemId() + " is valid");
} catch (SAXException e) {
  // Print an error message if validation fails due to an error
  System.out.println(xmlFile.getSystemId() + " is NOT valid reason:" + e);
} catch (IOException e) {
  // Handle IOException if file is not found or cannot be read
}
Nach dem Login kopieren

Überlegungen

Es ist zu beachten, dass die Verwendung des DOMParser zur Validierung nicht empfohlen wird, wenn das Ziel nicht darin besteht, ein DOM-Objektmodell zu erstellen. Dieser Ansatz kann zu unnötigem Ressourcenverbrauch führen und ist keine effiziente Methode zur Validierung.

Das obige ist der detaillierte Inhalt vonWie validiere ich XML anhand einer XSD in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage