ホームページ >Java >&#&チュートリアル >Java で XML を XSD に対して検証するにはどうすればよいですか?
XSD (XML スキーマ定義) ファイルに対して XML ドキュメントを検証することは、データの整合性と指定された標準への準拠を保証するために重要です。このチュートリアルでは、Java ランタイム ライブラリの XML 検証機能を詳しく説明し、javax.xml.validation.Validator クラスを使用した具体的な例を示します。
Java ランタイム ライブラリは、javax.xml.validation API を通じて堅牢な XML 検証機能を提供します。 javax.xml.validation.Validator クラスは、この API の基礎を形成し、開発者が特定のスキーマに対して XML ドキュメントを検証できるようにします。
次のコード スニペットは、検証の方法を示しています。 XML ファイルを 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 }
DOM オブジェクト モデルの作成が目的でない場合、検証に DOMParser を使用することは推奨されないことに注意してください。このアプローチは不必要なリソースの消費につながる可能性があり、効率的な検証方法ではありません。
以上がJava で XML を XSD に対して検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。