打印出网页中找到的文字

时间:2016-03-28 04:50:25

标签: c# html-agility-pack

我想要做的是打印包含我正在搜索的内容的文字(代码如下)。目前我正在尝试使用HtmlAgilityPack

foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]"))
{
      //print the text
}

我知道当它找到文本时(在本例中为Test123),其周围会有大量文字。简单地打印Test123将毫无意义。如果可能,我想打印包含Test123的原始文本。这是一个例子...... <input name="something" value="aaaTest1234" /><body>bbbTest12345</body> ...将分别打印aaaTest1234bbbTest12345

2 个答案:

答案 0 :(得分:1)

对于“输入名称=”某事“value =”aaaTest1234“”(包括)'&lt;&gt;'中的所有内容将作为'HtmlNode found'返回,然后您应该解析'found'的Attributes值以获得您感兴趣的部分。 而对于第二个,你需要解析body的InnerText。

答案 1 :(得分:0)

如何打印HtmlNodeOuterHtml属性的原始HTML? :

foreach(HtmlNode found in doc.DocumentNode.SelectNodes("//*[text()[contains(., Test123')]]"))
{
    //print HTML of the element that contain the text:
    Console.WriteLine(found.OuterHtml);
}