【发布时间】:2016-12-06 03:27:46
【问题描述】:
我的问题是针对我的项目中发生的特殊情况。
在我的 Html 文档中,
我想要
将<td> 替换为<td class=”right”> 用于除<tr> 标记中的第一个td 之外的所有td。 (如果<tr> 标签内有<tr>,那么也需要处理)。
如果输入是这样的:
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<tr>
输出应该是这样的:
<tr>
<td>1</td>
<td class=”right”>2</td>
<td class=”right”>3</td>
<tr>
我试过了..这段代码..
public static string tableFormat(string html) // Add extra attribute to td
{
int start = 0, end = 0, trstart = 0, trend = 0;
// html = CleanUpXHTML(html); // clean unnecessary p tags
while (html.Contains("<tr>"))
{
//start=end;
trstart = html.IndexOf("<tr>", end);
if (trstart == -1)
break;
trend = html.IndexOf("</tr>", trstart);
start = html.IndexOf("<td>", trstart);
end = html.IndexOf("</td>", trend);
while (end < trend)
{
start = html.IndexOf("<td>", end);
html = html.Insert(start + 3, " class=\"right\"");
end = html.IndexOf("</td>", trstart);
}
}
return html;
}
【问题讨论】:
-
public static string tableFormat(string html) // 添加额外属性到 td { while (html.Contains("
")) { //start=end; trstart = html.IndexOf(" ", end); if (trstart == -1) 中断;趋势 = html.IndexOf(" ", trstart);开始 = html.IndexOf("", trstart); end = html.IndexOf(" ", start); } } 返回 html; } 不工作
标签: c# .net winforms visual-studio html-table