XML验证错误-Root元素必须与doctype匹配

Dym*_*ond 9 xml

我试图用外部DTD验证我的XML文件.但我每次都会得到这个错误.

Document root element "A", must match DOCTYPE root "test".
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚这一点.

我的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>
Run Code Online (Sandbox Code Playgroud)

还有我的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)>
Run Code Online (Sandbox Code Playgroud)

谢谢

Que*_*tin 14

Doctype声称根元素是<test>你使用过的<A>

<!DOCTYPE test
          ^^^^
Run Code Online (Sandbox Code Playgroud)

更改Doctype以使其声明root用户<A>或更改要使用的XML和DTD <test>.