如何使这个简单的文件有效

时间:2009-08-29 08:08:45

标签: java xml dom

    

<DB>

<foo />

<bar />

</DB>

我有一个问题 - 当我开始解析(DOM)时,它说该文档无效。 我检查了什么是错的,问题是:

Line: 4 
Column: 6

Error:  Can not find declaration of element 'DB'.

Error Position: <DB> 

请帮助:)

2 个答案:

答案 0 :(得分:2)

在不了解你如何解析文档的情况下,我能给出的唯一建议是你的解析器可能需要一个定义元素的模式或DTD(所有元素:DB,foo和bar)。

如果您不想编写架构/ DTD,则另一个选项(如果可能,使用您的解析器)告诉解析器不要验证该文件。一些解析器实现允许您指定一个标志,告诉它不要验证文档。

答案 1 :(得分:2)

XML文档必须格式正确,并且应该有效。解析器(几乎)永远不会接受格式不正确的文档,并且(大多数)解析器可以被告知检查文档的有效性。

如果文档遵循XML规范中标记为格式良好规则的所有语法规则,那么该文档格式良好。这是关于正确打开和关闭标签,正确使用属性等等。

文档有效如果它不仅格式正确,而且符合其自己的模式中定义的语法,该模式可以是文档类型定义(DTD)或XML模式定义(XSD)。

在您的情况下,文档显然格式正确,并且因为它不引用模式,所以它不是无效的。

问题可能是,您告诉解析器验证文档,这是不可能的,因为没有架构。虽然如果是这种情况,但错误信息会非常误导......