Mengesahkan dokumen XML terhadap fail XSD (Definisi Skema XML) adalah penting untuk memastikan integriti data dan pematuhan kepada piawaian yang ditetapkan. Tutorial ini akan menyelidiki keupayaan pustaka runtime Java untuk pengesahan XML dan memberikan contoh konkrit menggunakan kelas javax.xml.validation.Validator.
The Pustaka masa jalan Java menawarkan keupayaan pengesahan XML yang mantap melalui API javax.xml.validation. Kelas javax.xml.validation.Validator membentuk asas API ini, membolehkan pembangun mengesahkan dokumen XML terhadap skema tertentu.
Coretan kod berikut menunjukkan cara untuk mengesahkan fail XML terhadap XSD skema:
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 }
Perlu diambil perhatian bahawa menggunakan DOMParser untuk pengesahan tidak disyorkan jika matlamatnya bukan untuk mencipta model objek DOM. Pendekatan ini boleh membawa kepada penggunaan sumber yang tidak perlu dan bukan kaedah yang cekap untuk pengesahan.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan XML Terhadap XSD di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!