========xsd文件,文件名bean.xsd,放在当前java文件目录下
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="beans"><xs:complexType><xs:sequence><xs:element name="bean" minOccurs="0"maxOccurs="unbounded"><xs:complexType><xs:sequence><xs:element name="name" type="xs:string" /><xs:element name="address" type="xs:string" /></xs:sequence><xs:attribute name="smallrainIdIn" type="xs:string" use="required"/><xs:attribute name="smallrainAttributeIn" type="xs:string" use="optional"/></xs:complexType></xs:element></xs:sequence><xs:attribute name="smallrainId" type="xs:string" use="required"/><xs:attribute name="smallrainAttribute" type="xs:string" use="optional"/></xs:complexType></xs:element>
</xs:schema>
========被验证xml文件,文件名bean.xml,放在当前java文件目录下
<?xml version="1.0" encoding="UTF-8"?>
<beans smallrainId="01"><bean smallrainIdIn="11"><name>rain </name><address>中国</address></bean><bean smallrainIdIn="12"><name>rain one</name><address>中国 one</address></bean>
</beans>
=========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());}}
}