c# - Replacing td tags with td and attributes -


my problem particular case occurring in project.

in html document, want replace <td> <td class=”right”> tds except first 1 in <tr> tag. (if there <tr> inside <tr> tag needs handled).

if input like:

<tr>   <td>1</td>   <td>2</td>   <td>3</td> <tr> 

output should like:

<tr>   <td>1</td>   <td class=”right”>2</td>   <td class=”right”>3</td> <tr> 

i have tried..this code..

public static string tableformat(string html)   // add attribute 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;         } 

just call function main: note:this code work valid html i.e xhtml

 public static string tableformat(string xhtml)     {         int start = 0, end = 0, trstart = 0, trend = 0;          while (trstart != -1)         {             //start=end;             trstart = xhtml.indexof("<tr>", end);             if (trstart == -1)                 break;             trend = xhtml.indexof("</tr>", trstart);             start = xhtml.indexof("<td>", trstart);             end = xhtml.indexof("</td>", start);             while (end < trend)             {                 //int tracktr = 0;                 start = xhtml.indexof("<td>", end);                 if (start > trend)                     break;                 xhtml = xhtml.insert(start + 3, " class=\"right\"");                  end = xhtml.indexof("</td>", start);              }         }         return (xhtml);     } 

Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -