-- 作者:bluesea
-- 发布时间:7/4/2004 11:16:00 AM
-- 关于验证的问题
我想用java做一个xml用schema的验证程序.代码如下: public class TestXML { /** * */ public TestXML() { super(); // TODO Auto-generated constructor stub } public static void main(String[] args) { new TestXML().test(); } public void test(){ try{ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); DocumentBuilder db = null; db = dbf.newDocumentBuilder(); ErrorChecker errors = new ErrorChecker(); db.setErrorHandler(errors); Document doc = null; doc = db.parse("test.xml"); System.out.println(doc.getDocumentElement().getNodeName()); } catch (SAXException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 用到的类: import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.SAXParseException; public class ErrorChecker extends DefaultHandler { public ErrorChecker() { } public void error (SAXParseException e) { System.out.println("Parsing error: "+e.getMessage()); } public void warning (SAXParseException e) { System.out.println("Parsing problem: "+e.getMessage()); } public void fatalError (SAXParseException e) { System.out.println("Parsing error: "+e.getMessage()); System.out.println("Cannot continue."); System.exit(1); } } 下面是这些文件.
 我觉得没有错误.可是运行的时候会报出 Parsing error: Document root element "quotations", must match DOCTYPE root "null". Parsing error: Document is invalid: no grammar found. 的两个错误,为什么?望指教.万分感谢!
|