验证xml文件时出错
用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".