为什么Google不关闭表格中的td和tr标签?

Reb*_*ial 6 html

看HTML的源代码

http://www.google.com/finance/historical?cid=983582&startdate=Nov+28,+2000&enddate=Nov+27,+2010&num=200

我看到谷歌永远不会关闭tdtr标记.源头上没有</tr>没有</td>.

为什么?

<tr class=bb>
<th class="bb lm">Date
<th class="rgt bb">Open
<th class="rgt bb">High
<th class="rgt bb">Low
<th class="rgt bb">Close
<th class="rgt bb rm">Volume
<tr>
<td class="lm">Nov 26, 2010
<td class="rgt">11,183.50
<td class="rgt">11,183.50
<td class="rgt">11,067.17
<td class="rgt">11,092.00
<td class="rgt rm">68,396,121
<tr>
Run Code Online (Sandbox Code Playgroud)

难道解析它是因为XML解析器无法读取它吗?我已经注意到&output = csv不适用于索引(这个网址不起作用:http://www.google.com/finance? q = INDEXDJX:.DJI&output = ccsv ),但它可用于库存(http: //www.google.com/finance/historical?q=NASDAQ:GOOG&output=csv将正常工作)以便在csv中获取索引的历史数据,您必须执行解析工作!

Sin*_*nür 9

这是HTML4(而不是XML).正如W3规范中所指出的那样:

11.2.6表格单元格:TH和TD元素

...

开始标记:必需,结束标记:可选

同上tr:

11.2.5表行:TR元素

...

开始标记:必需,结束标记:可选

我相信目的是通过省略结束标记来最小化页面大小.他们进行各种额外的优化,这些优化实际上可能导致无效的HTML,但是由于在tagsoup模式下浏览器处理.