我有一个简单的xml文件练习问题。这是一个名为“ Newfile.xml”的XML文件。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="students.xsl"?>
<!DOCTYPE students SYSTEM "student.dtd">
<student id="100026">
<name>Joe Average</name>
<age>21</age>
<major>Biology</major>
<results>
<result course="Math 101" grade="C-"/>
<result course="Biology 101" grade="C+"/>
<result course="Statistics 101" grade="D"/>
</results>
</student>
<student id="100078">
<name>Jack Doe</name>
<age>18</age>
<major>Physics</major>
<major>XML Science</major>
<results>
<result course="Math 101" grade="A"/>
<result course="XML 101" grade="A-"/>
<result course="Physics 101" grade="B+"/>
<result course="XML 102" grade="A"/>
</results>
</student>
</students>
这是相对的dtd文件,称为“ student.dtd”,放置在同一目录中
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT students (student+)>
<!ELEMENT student (name,age,major,results)>
<!ATTLIST student id CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT major (#PCDATA)>
<!ELEMENT results (result+)>
<!-- <!ELEMENT result (grade,course)> -->
<!ELEMENT result (#PCDATA)>
<!ATTLIST result grade CDATA #REQUIRED>
<!ATTLIST result course CDATA #REQUIRED>
当我尝试使用Eclipse运行Newfile.xml时,它说:“错误行14:根元素后面的文档中的标记必须格式正确。”
错误在哪里?你能帮助我吗?
我认为这是因为您的XML格式不正确-您有一个student
元素的开始和结束标记,然后又为另一个student
元素有了相同的标记,然后有一个students
元素的结束标记。
但是您没有students
元素的开始标签。
顺便说一句,major
第二个student
元素中也有2个元素,但是DTD指定仅major
允许1个元素。
请尝试以下操作,它根据您的DTD有效:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="students.xsl"?>
<!DOCTYPE students SYSTEM "student.dtd">
<students>
<student id="100026">
<name>Joe Average</name>
<age>21</age>
<major>Biology</major>
<results>
<result course="Math 101" grade="C-"/>
<result course="Biology 101" grade="C+"/>
<result course="Statistics 101" grade="D"/>
</results>
</student>
<student id="100078">
<name>Jack Doe</name>
<age>18</age>
<major>Physics</major>
<results>
<result course="Math 101" grade="A"/>
<result course="XML 101" grade="A-"/>
<result course="Physics 101" grade="B+"/>
<result course="XML 102" grade="A"/>
</results>
</student>
</students>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句