Cara Memastikan Fail XML Mematuhi Skema XSD
Mengesahkan kesahihan fail XML terhadap skema XSD yang telah ditetapkan adalah penting untuk memastikan integriti data dan pematuhan piawaian. Di Java, anda boleh menggunakan keupayaan pengesahan terbina dalam perpustakaan masa jalan.
Menggunakan javax.xml.validation.Validator
Untuk melaksanakan pengesahan, gunakan Pengesah kelas daripada Pakej javax.xml.validation. Kelas ini menyediakan mekanisme yang berkuasa untuk menyemak pematuhan fail XML kepada skema XSD.
Coretan kod berikut menunjukkan cara untuk mengesahkan fail XML:
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.IOException; // Define the XML and XSD file sources URL schemaFile = new URL("http://host:port/filename.xsd"); Source xmlFile = new StreamSource(new File("web.xml")); // Create a SchemaFactory and Schema SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = schemaFactory.newSchema(schemaFile); // Get a Validator and perform validation Validator validator = schema.newValidator(); try { 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) {}
Kod ini mengesahkan penggunaan WAR deskriptor terhadap skema XSD yang ditentukan. Anda boleh menyesuaikannya dengan mudah untuk menyemak mana-mana fail XML terhadap XSD yang anda inginkan.
Elak DOMParser untuk Pengesahan
Adalah penting untuk ambil perhatian bahawa menggunakan DOMParser untuk pengesahan tidak disyorkan melainkan anda berhasrat untuk membina model objek DOM. DOMParser akan mencipta objek DOM semasa menghurai, yang boleh membazir jika anda tidak memerlukannya.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Fail XML Terhadap Skema XSD di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!