XML 验证错误 - 根元素必须匹配文档类型

标签 xml

我正在尝试使用外部 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/

相关文章:

java - 编辑 XML 文件无法正常工作

java - 在 Java 中将 ChartFX7 导出为 SVG

xml - 是 xmlns :xsi ="http://www.w3.org/2001/XMLSchema-instance" a special case in XML?

java - Jaxb 编码 - 从 java 对象获取 xml 中的所有字段

xml - 用于选择多个标签的 XPath

php - YouTube搜索返回错误的总结果

xml - 在 SQL Server 2008R2 中更新表的 XML 列

java - 如何在 Java 中针对 XSD 1.1 验证 XML?

java - JAXB:部分解码返回空域对象

android - 包含来自另一个包的 xml 布局