========xsd文件,文件名bean.xsd,放在当前java文件目录下
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="bean">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
========被验证xml文件,文件名bean.xml,放在当前java文件目录下
<?xml version="1.0" encoding="UTF-8"?>
<bean>
<name>rain </name>
<address>中国</address>
</bean>
=========java文件
package org.rain.xml;
import javax.xml.XMLConstants;
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 org.xml.sax.SAXException;
import java.io.File;
import java.io.IOException;
public class SmallRainXML {
public static void main(String[] args) {
SmallRainXML smallrainXML=new SmallRainXML();
String smallrainBeanXSD=smallrainXML.getClass().getResource("bean.xsd").getFile();
String smallrainBeanXML=smallrainXML.getClass().getResource("bean.xml").getFile();
try {
SchemaFactory smallrainSchemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source smallrainSchemaSource = new StreamSource(new File(smallrainBeanXSD));
Schema smallrainSchema = smallrainSchemaFactory.newSchema(smallrainSchemaSource);
Validator smallrainValidator = smallrainSchema.newValidator();
Source smallrainXMLSource = new StreamSource(new File(smallrainBeanXML));
smallrainValidator.validate(smallrainXMLSource);
System.out.println("XML格式正确");
} catch (SAXException e) {
System.out.println("XML格式错误" + e.getMessage());
} catch (IOException e) {
System.out.println("读文件出错" + e.getMessage());
}
}
}