最近打算做一个Html解析的类,粗写了一个,大多数都解析了,可是发现现在的Html代码不是一般的不规范,无语啊。
我用的还是一个算是大型网站的网页做测试的,把不规范之处贴出来大家看看。这只是一部分,还有单引号,双引号只有一半的,单引号,双引号,没引号混用的,搞得我现在写的解析类还有一个没解决的问题,就是如果代码中只有标签开头,没有结尾怎么判断处理?
<table>
<tr>
<td>
<div class="ContentDiv">
<div id="MenuBg">
<div style="float:left">
<a>
商城</span></a>
</div><div style="float:left">
<a>
俱乐部</span></a>
</div>
</div>
</div>
</td>
</tr><tr>
<td>
<table>
<tr>
<td>
<table>
<tr>
<td height="35">
<table>
<tr>
<td align="right">
<table><tr></td></tr></table>
</td></tr>
</table>
</td>
</tr>缺少TR结尾
<tr>
<td>
<tr>
<td align="right">
<table><tr></td></tr></table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr><tr>
<td>
<TABLE>
<TR height="23">
<TD vAlign="top"></TD>
</TD>
<TD width="742" height="105" rowSpan="3">
<table>
<tr>
<td></></td>
</tr>
</table>
</TD>
</TR>
</TABLE>
</td>
</tr>
</table>
我用的还是一个算是大型网站的网页做测试的,把不规范之处贴出来大家看看。这只是一部分,还有单引号,双引号只有一半的,单引号,双引号,没引号混用的,搞得我现在写的解析类还有一个没解决的问题,就是如果代码中只有标签开头,没有结尾怎么判断处理?
<table>
<tr>
<td>
<div class="ContentDiv">
<div id="MenuBg">
<div style="float:left">
<a>
商城</span></a>
</div><div style="float:left">
<a>
俱乐部</span></a>
</div>
</div>
</div>
</td>
</tr><tr>
<td>
<table>
<tr>
<td>
<table>
<tr>
<td height="35">
<table>
<tr>
<td align="right">
<table><tr></td></tr></table>
</td></tr>
</table>
</td>
</tr>缺少TR结尾
<tr>
<td>
<tr>
<td align="right">
<table><tr></td></tr></table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr><tr>
<td>
<TABLE>
<TR height="23">
<TD vAlign="top"></TD>
</TD>
<TD width="742" height="105" rowSpan="3">
<table>
<tr>
<td></></td>
</tr>
</table>
</TD>
</TR>
</TABLE>
</td>
</tr>
</table>
因为这是 系统生成的 ,修改时 不加整理。
唉 确实可叹啊。
哦.不符合html规范......
而美工 大都不懂ASP.NET规则,只是按照HTML能通过的方式去做
这样的结果在ASP.NET中看这些HTML代码 就会有很多问题啊。