我正在尝试使用外部 DTD 验证我的 XML 文件。但我每次都会收到此错误。
Document root element "A", must match DOCTYPE root "test".
我想不通。
我的 xml 文件的想法是它需要尽可能短。 我认为这一切都很好,但就像我说的,我不会验证。有人有想法吗?
这是我的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test SYSTEM "test.dtd">
<A>
<B>
<F>name</F>
</B>
<D>lastname</D>
<F>name</F>
</A>
还有我的 DTD
<!ELEMENT A (B, (C|D), E?, (F, G?)+)>
<!ELEMENT B (F|G)+>
<!ELEMENT D (#PCDATA|C)*>
<!ELEMENT F (#PCDATA)>
<!ELEMENT G (#PCDATA)>
<!ELEMENT C (#PCDATA)>
<!ELEMENT E (#PCDATA)>
谢谢
最佳答案
文档类型声明根元素是 <test>
但你用过<A>
<!DOCTYPE test
^^^^
要么更改 Doctype,使其声明根目录为 <A>
或更改 XML 和 DTD 以使用 <test>
.
关于XML 验证错误 - 根元素必须匹配文档类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402292/