ホームページ >Java >&#&チュートリアル >Java で XML ファイルを XSD スキーマに対して検証するにはどうすればよいですか?
XSD スキーマに対する XML ファイルの検証
特定の XSD スキーマに対して生成された XML ファイルの有効性を確認するには、検証を実行する必要があります。 。 Java ランタイム ライブラリは、この検証のサポートを提供します。
javax.xml.validation.Validator の使用
javax.xml.validation.Validator クラスは、 XML ドキュメントを XSD スキーマに対して検証します。使用方法の例を次に示します。
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); }
注: 定数 XMLConstants.W3C_XML_SCHEMA_NS_URI は XSD スキーマを定義します。上の例では、XML ファイル web.xml がスキーマ URL http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd に対して検証されます。スキーマ ファイルの URL は、特定のシナリオに合わせて変更できます。
検証に DOMParser を使用しない
検証に DOMParser を単独で使用しないようにすることが重要です。 DOMParser はドキュメントを解析するときに DOM オブジェクトを作成しますが、それらのオブジェクトを使用するつもりがない場合は無駄になる可能性があります。代わりに、Validator クラスを使用して検証を効率的に実行します。
以上がJava で XML ファイルを XSD スキーマに対して検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。