0

"display:none"以下の html タグでは、C# プログラムを使用して、属性値を持つタグ全体を削除したいと考えていますstyle

<td>
    <span style="display:none">
        <font color="#ffffff">OK</font>
    </span>
    <span>
    <font color="#ffffff">OK</font>
    </span>
</td>

html は次のようになります。

<td>
    <span>
        <font color="#ffffff">OK</font>
    </span>
</td>

関数を使用する以外Replace()に、この問題を解決する方法を誰かに提案してもらえますか?

4

2 に答える 2

2

HTMLAGILITY Pack を使用して、html ノードを安全に解析できます

http://nuget.org/packages/HtmlAgilityPack

于 2012-09-05T08:45:00.180 に答える
1

幸いなことに、CsQuery を使用して C# で sintaxys のように jQuery を使用できます

string htmlString = @"<td>
<span style=\"display:none\">
<font color=\"#ffffff\">OK</font>
</span>
<span>
<font color=\"#ffffff\">OK</font>
</span>
</td>";
var dom = CQ.Create(htmlString);
dom.Select("[style=display:none]").Remove();

私はそれをテストしていませんが、良い出発点です

複数の display:none を持つ DOM では、コメントで @jamietre に言及されています

var dom = CQ.Create(htmlString);
dom.Select("[style]").Where(item=>item.Style["display"]=="none")).Rem‌​ove();
于 2012-09-05T08:59:28.853 に答える