1

重複の可能性:
HTMLアジリティパックの使用方法

私は以下のhtmlコードを持っています:

<div><span class="help">This is text.</span>Hello, this is text.</div>
<div>I have a question.<span class="help">Hi</span></div>

<span class="help"></span>ここで、 C#の使用の間にあるテキストを削除したいと思います。だから、私だけを残したい

<div>Hello, this is text.</div>
<div>I have a question.</div>

誰かが何か考えを持っていますか?

4

4 に答える 4

6

HTMLを操作するには、 HtmlAgilityPackを使用する必要があります 。

string text = @"<div><span class=""help"">This is text.</span>Hello, this is text.      </div>
                <div>I have a question.<span class=""help"">Hi</span></div>";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(text);
var nodes = doc.DocumentNode.SelectNodes("//span[@class='help']");
foreach( HtmlNode node in nodes)
{
   node.Remove();
} 
String result = doc.DocumentNode.InnerHtml;
于 2012-12-19T15:27:01.200 に答える
2

Html Agility Pack私はhtmlを解析するために使用するという考えを持っています。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);  // this is your string
var divs = doc.DocumentNode.Elements("div")
      .Select(div => string.Format("<div>{0}</div>", div.LastChild.InnerText));
于 2012-12-19T15:16:33.157 に答える
0

正規表現を使用できます

    string val = @"<div><span class=""help"">This is text.</span>Hello, this is text.</div><div>I have a question.<span class=""help"">Hi</span></div>";
        Regex reg = new Regex("<span .+?</span>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
        string ret = reg.Replace(val, "");
        Debug.WriteLine(ret);
于 2012-12-19T15:13:29.593 に答える
-2

runat = "server"を含む要素を取得して、コードビハインドからアクセスできるようにします。適切な場合は、ID名で要素を取得し、element.innerHTML="";を実行します。またはelement.innerText="";

于 2012-12-19T15:12:03.430 に答える