import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.*;
import java.io.File;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import java.io.IOException;
class test
{
public static void main(String[] args)
{
try
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(true);
MyHandler handler = new MyHandler();
DocumentBuilder db = dbf.newDocumentBuilder();
db.setErrorHandler(handler);
db.parse(new File("F:\\study\\dtd\\test.xml"));
if (handler.errorMessage == null)
{
System.out.println("XML文件是有效的");
}
else
{
System.out.println("XML文件不是有效的");
}
}
catch(ParserConfigurationException e){e.printStackTrace();}
catch(SAXException e){e.printStackTrace();}
catch(IOException e ){e.printStackTrace();}
}
}
class MyHandler extends DefaultHandler
{
String errorMessage = null;
public void error(SAXParseException e) throws SAXException
{
errorMessage = e.getMessage();
System.out.println("一般错误:" + errorMessage);
}
public void fatalError(SAXParseException e) throws SAXException
{
errorMessage = e.getMessage();
System.out.println("致命错误:" + errorMessage);
}
}