我想使用JSoup项目来验证html片段。我真正想知道的是片段是否是有效的HTML。 如果在解析器上设置了标志,JSoup会返回错误。但是当我在这个片段上运行解析器时:
"This is a <br/> test"
我收到此错误消息“自我关闭标记未确认”
我不知道这意味着什么,或者它是否真的是一个错误,因为ParseError
类只有两个属性,一个文本和一个错误位置。
此外,它似乎不一致。例如,这是好的:
"This is a <br> test"
这也没关系:
"<br/> This is a test"
生成此错误消息的关键似乎是在标记(<br/>
)中具有自动关闭的标记之前出现的纯文本。
有没有人知道这条消息究竟是什么意思,为什么它是错误而不是警告,以及为什么会出现这种情况?
由于
答案 0 :(得分:0)
错误Self closing flag not acknowledged
有点神秘 - 它被定义为HTML5规范中的错误。 HTML中的实际错误是br
标记不应具有尾随/
。 HTML5不是XML,空标记的写法正确,如<br>
,<img>
,不,如<br />
,<image />
等。
错误的文本意味着解析器“没有确认”斜杠是一个有用的标记。
当你看到br标签位于字符串的开头时,你没有看到错误产生的错误。