HtmlAgilityPack从html清除内部文本

时间:2011-10-14 22:32:53

标签: vb.net dom html-parsing html-agility-pack strip-tags

我有这个HTML。我正试图在其中没有任何标签的情况下获取其InnerText,

<h1>my h1 content</h1>
<div class="thisclass">
<p> some text</p>
<p> some text</p>
    <div style="some_style">
    some text
        <script type="text/javascript">
        <!-- some script -->
        </script>
    <script type='text/javascript' src='some_script.js'></script>
    </div>
<p> some text<em>some text</em>some text.<em> <br /><br /></em><strong><em>some text</em></strong></p>
    <p> </p>
   </div>

我想要做的是获取文本,因为用户可以从类thisclass中看到它。 我想删除任何脚本标记和所有标记,只需获取纯文本。

这就是我正在使用的:

 Dim Tags As HtmlNodeCollection = root.SelectNodes("//div[@class='thisclass'] | //h1")

有没有人有任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个(提前警告c#代码):

foreach(var script in root.SelectNodes("//script"))
{
    script.ParentNode.RemoveChild(script);
}

Console.WriteLine(root.InnerText);

这给了我以下输出:

my h1 content some text some textsome text    some textsome textsome text. some text

希望这有帮助。