【发布时间】:2015-12-09 04:34:47
【问题描述】:
如果我查看任何站点的代码源,<br> 标记不会被另一个 </br> 标记关闭。是否可以强制浏览器使用结束标签?
怎么还不关门?
我问这个的原因是因为一些 xml 解析器在标签没有关闭时会抛出错误。
【问题讨论】:
标签: xml html xml-parsing xhtml
如果我查看任何站点的代码源,<br> 标记不会被另一个 </br> 标记关闭。是否可以强制浏览器使用结束标签?
怎么还不关门?
我问这个的原因是因为一些 xml 解析器在标签没有关闭时会抛出错误。
【问题讨论】:
标签: xml html xml-parsing xhtml
没有结束 br 标记。它是一个代表中断的标签。它不包含任何东西。
只有在编写 XHTML(即 XML)时,您必须关闭每个元素,因此该标签被写为自关闭标签:<br/>。我认为理论上你也可以写成<br></br>,只要里面没有内容,但我从来没有见过这样写的。
XML 是一个严格的标准,因此当遇到未关闭的<br> 标记时,XML 解析器会失败是有道理的,如果您的文档类型是 XHTML,您应该始终将其写为 <br/>。
(plain) HTML (was) 基于 SGML 而不是 XML,并且允许未封闭的标签。在 HTML 中,包括 HTML5,你可以写 <br>。
有时你仍然会在普通的 HTML 文档中看到<br />(通常带有空格)。这主要是因为有一段时间看起来 XHTML 将成为新标准,人们想要做好准备。大多数 HTML 解析器都非常宽容,即使在 doctype 正式不允许的情况下也会忽略 /。
现在很明显,HTML5 是事实上的标准,完全不需要关闭或自行关闭<br> 标签。但是 HTML5 不是 XML,不能用 XML 解析器解析。您应该使用 HTML 解析器。
【讨论】: