使用HTML Agility Pack获取图像旁边的文本?

c# c#-4.0 html-agility-pack web-scraping

我有这个html,我需要解析

<p class="feature_list">

<img src="candy.gif" alt="candy" title="candy"/>&nbsp;
                        x 3&nbsp;&nbsp;
<img src="lollies.gif" alt="lollies" title="lollies"/>&nbsp;
                        1&nbsp;&nbsp;
<img src="system.gif" alt="system" title="system"/>&nbsp;

                        x 1&nbsp;&nbsp;
<img src="phone.gif" alt="phone" title="phone"/>&nbsp;
                        x 1&nbsp;&nbsp;
</p>

正如您所看到的那样,有一个图像,然后是旁边的“x 3”文本。

我想要做的是浏览每个图像,并在其旁边记录文本。但是,文本在'img'标签之外。

我想知道无论如何使用HTML敏捷包进行此操作?

一般承认的答案

以下代码:

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    doc.Load(yourHtml);

    foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//img"))
    {
        Console.WriteLine(HtmlEntity.DeEntitize(node.NextSibling.InnerText).Trim());
    }

将输出:

x 3
1
x 1
x 1

请注意HtmlEntity实用程序,它可以简化HTML实体的处理(例如&nbsp;



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因