1
私はhtmlAgilityPackを使って自分のhtmlを解析しています。私の主な目標は、いくつかのdiv要素をテーブルの行要素の周りに追加することです。しかし、テーブル行にはさらにいくつかの要素があります。私は、フォントのスタイルがライトグリーンの背景色である場合にのみ、div要素でラップしたいと思います。しかし、私の現在のコードHtmlAgilityPack他のノードにノードを追加する
<tr>
<td style="padding-left: 40pt;"><font style="background-color: lightgreen" color="black">Tove</font></td>
<td style="padding-left: 40pt;"><font style="background-color: lightgreen" color="black">To</font></td>
</tr>
:
HtmlNode[] nodes = document.DocumentNode.SelectNodes("//tr[//td[//font[@style='background-color: lightgreen']]]").ToArray();
foreach (HtmlNode node in nodes)
{
node.InnerHtml = node.InnerHtml.Replace( node.InnerHtml,"<div class=\"select-me\">" +node.InnerHtml + "</div>");
}
はこのHTMLを生成します。
<tr>
<div class="select-me">
<td style="padding-left: 25pt;"><font style="background-color: white" color="black"><to</font><font style="background-color: white" color="black">></font></td>
<td style="padding-left: 25pt;"><font style="background-color: white" color="black"><to</font><font style="background-color: white" color="black">></font></td>
</div>
</tr>
<tr>
<div class="select-me">
<td style="padding-left: 40pt;"><font style="background-color: lightgreen" color="black">Tove</font></td>
<td style="padding-left: 40pt;"><font style="background-color: lightgreen" color="black">To</font></td>
</div>
</tr>
<tr>
<div class="select-me">
<td style="padding-left: 25pt;"><font style="background-color: white" color="black"></to></font></td>
<td style="padding-left: 25pt;"><font style="background-color: white" color="black"></to></font></td>
</div>
</tr>
div要素はTRを囲むません は、ここに私のHTMLはどのように見えるかの例ですすべてのtrにdiv要素があります。背景要素lightgreenのfont要素を持つtr要素だけがdiv要素を含む必要があります。最初のtr要素を見ると、2つではなく4つのフォント要素があります。理想的には、私の目標は、tr要素の周りにdiv要素を挿入することです。これは、その要素の背景が明るい緑の場合です。私は他の投稿を見てきましたが、まだ問題があります。
正しいHTMLが好きでなければならない:
<div class="select-me">
<tr>
<td style="padding-left: 25pt;"><font style="background-color: lightgreen" color="black">hello</font></td>
<td style="padding-left: 25pt;"><font style="background-color: lightgreen" color="black">goodbye</font></td>
</tr>
</div>