用jdom和jxap解析xml文件的时候都遇到了这个问题,验证xml文件的时候,都显示文件模式错误比如这样一个java程序
    import org.jdom.*;  
    import org.jdom.output.*;  
    import org.jdom.input.*;  
      
    import org.xml.sax.*;  
      
    public class Test {  
        public static void main(String[] args) throws Exception{  
          SAXBuilder builder = new SAXBuilder(true);  
          builder.build("test.xml");  
        }  
    }  有以下的xml和dtd文件。test.xml,test.dtd
    <?xml version="1.0" encoding="utf-8"?>  
    <!DOCTYPE test SYSTEM "test.dtd">  
    <data type="student">  
      <name>Tom</name>  
      <gender>male</gender>  
      <age>11</age>  
    </data>      <!ELEMENT data (name, gender, age)>  
    <!ATTLIST data type CDATA #REQUIRED>  
    <!ELEMENT name (#PCDATA)>  
    <!ELEMENT gender (#PCDATA)>  
    <!ELEMENT age (#PCDATA)>  运行时就会出现这样的异常,什么情况,我哪里弄错了?Exception in thread "main" org.jdom.input.JDOMParseException: Error on line 3 of document file:///home/leguroky/Desktop/test.xml: Document root element "data", must match DOCTYPE root "test".

解决方案 »

  1.   

    楼主,翻译下出错原因:
    Document root element "data", must match DOCTYPE root "test".文档的根元素data必须匹配DOCTYPE root "test".
      

  2.   

    <?xml version="1.0" encoding="utf-8"?>   
      <!DOCTYPE data SYSTEM "test.dtd">   
      <data type="student">   
      <name>Tom</name>   
      <gender>male</gender>   
      <age>11</age>   
      </data>